-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hi!

Success!

Finally I was able to fully build the latest wengophone-2.2 revision
with Visual Studio 2005 Express Edition!

First of all I would like to refine my first post[1] with a few corrections:

1. I used wengophone-2.2 (rev 13252) instead of (rev 13237)
2. You actually you do NOT need to change the "C:\Program
Files\Microsoft Visual Studio 8\Common7\Tools\vsvars32.bat" file for
this project.

"vsvars32.bat" actually only needs to be modified if you want to use the
Platform SDK and/or DirectX SDK and want to compile your programs on the
command line.

So just let all of the given environment variables be set by the system
and add the "Include" and "Lib"-paths as described in Visual Studio C++
2005.

Ok. As promised I attached my patchset for revision 13253 of
wengophone-2.2. I'll try to explain what happened and what I have
changed. I also may have questions and I by no means think that this is
the ultimate solution. So if you think you can pinpoint what could be
done better I would be very glad!

Basically you can follow steps 1 to 7 from my first post[1] except for
my corrections above. Let's continue with the next steps:

8. Patch the files
As mentioned just apply my attached patchset
(wengophone_2.2_r13252_dpat-2.diff). This can easily be done with
TortoiseSVN. Right-click on the wengophone-2.2 folder, click "Apply
patch.." and choose the file. After that you will see a popup "file
patches". Just right-click on it and choose "Patch all". Done!

9. Configure wengophone (create Visual Studio Project files):
9a. Run "C:\Projects\wengophone-2.2\build\create_vcproj-VC80.bat"

You can actually just double-click on it. "vsvars32.bat" is called out
of it. This should create the Visual Studio project files.

10. Open the project
The Visual Studio Solution is then located in the "build"-directory.
After opening it you'll notice a popup "The solution already conatains
an item named 'lrelease'. That's not critical so just ignore it! (Maybe
somebody knows how to get rid of it.)

11. Build wengophone
You can either build the whole solution, the project "ALL_BUILD" or the
project "WengoPhone". The safest bet would be to build the whole solution.

Actually all of Visual Studio project files / properties are also
rebuild (by some CMake-Magic) so it might be necessary to build
wengophone a second time. In fact you have to rebuild those projects
where you changed any of the cmake-files (or at least have to wait until
the initial configuration is done and start over).

After some time (go out and meet some friends ;) ) you should see a fine
built "wengophone.exe" in your build-directory.

12. Start it and have fun debugging...

Additional notes on my patchset:

- - libs/3rdparty/qt4/CMakeLists.txt

Since a version of Qt 4.x the DLLs of the lib are now ending with a "4".
I have changed that accordingly.

- - libs/owutil/util/CMakeLists.txt
- - libs/webcam/CMakeLists.txt
- - wifo/phapi-util/CMakeLists.txt

The lib files of these projects are not created without these definitions.

- - owbuild/owbuild/OWCreateProjectBinary.cmake

This was tricky and I am still not absolutly sure about it. This patch
now enables the post-build-copy-process to copy the DLL and PDB files
from the correct directory (by taking the right buildtype (debug vs.
release) into account). Maybe someone can take a special look at this
one. Thanks!

- - wengophone/src/buildid/CMakeLists.txt

The Preprocessor Definition "DD_BUILDID" had two "LL" at the end (I
don't know why) but they should be an integer. The patch fixes that.

- - wifo/owsl/src/core/owsl_address.c

OWSL_FUNC_DEF (which is definded as __declspec(dllimport)) is already
set in the header. No need to do that again.

- - wifo/phapi/CMakeLists.txt

There two patches in here...

1. The lib file is not created without this definition.
2. The Visual C++ compiler option "-D" do strip the quotes on the
command line[2] so this must be handled by a define in "phapi.c".

- - wifo/phapi/phapi.c

This is the second part of the "-D"-compiler-option problem of Visual
C++. I was not able to get the SVN-Revision into it so it's set to "0".
If somebody knows how to fix that (and knows how to include the svn
command line in the build process) please let me / us know. Thanks!

- - wifo/phapi/test/client/wlm_password.h

Altough I think this is just a test-project and not critical for
wengophone I tried to fix this. I am again not sure about this one but
there seems to be a conflict with "unistd.h" and "stdio.h". This patch
fixes the problem.

I hope this description was helpful for someone and somebody read so far
to read this ;).

I really would like to contribute to the project and would like to
update the wiki and/or get access to SVN-Repository to do some commits.
If anybody is able and willing to guide me through this process please
let me know. Thank you!

Have a nice day!
~ - Darsha

[1] http://article.gmane.org/gmane.comp.voip.wengophone.devel/5743
[2] http://msdn2.microsoft.com/en-us/library/hhzbb5c8(VS.80).aspx
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.7 (MingW32)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFHmGnVzSfkDjyvKakRAlF6AKDm83/tPXv95ZrcZ0a4k0UrBdYl2QCg2y8M
iOLhtbKcMapZgdJYtySomJI=
=aq6b
-----END PGP SIGNATURE-----
Index: libs/3rdparty/qt4/CMakeLists.txt
===================================================================
--- libs/3rdparty/qt4/CMakeLists.txt    (revision 13253)
+++ libs/3rdparty/qt4/CMakeLists.txt    (working copy)
@@ -105,8 +105,8 @@
                ow_copy_file(${QTDIR}/bin/QtXmld4.dll ${BUILD_DIR})
                ow_copy_file(${QTDIR}/bin/QtSvgd4.dll ${BUILD_DIR})
                #${BUILD_DIR}/imageformats/qmngd1.dll first then it creates 
imageformats directory
-               ow_copy_file(${QT_PLUGINS_DIR}/imageformats/qmngd1.dll 
${BUILD_DIR}/imageformats/qmngd1.dll)
-               ow_copy_file(${QT_PLUGINS_DIR}/imageformats/qjpegd1.dll 
${BUILD_DIR}/imageformats)
+               ow_copy_file(${QT_PLUGINS_DIR}/imageformats/qmngd4.dll 
${BUILD_DIR}/imageformats)
+               ow_copy_file(${QT_PLUGINS_DIR}/imageformats/qjpegd4.dll 
${BUILD_DIR}/imageformats)
                
ow_copy_file(${CMAKE_CURRENT_SOURCE_DIR}/binary-lib/msvc/imageformats/qgifd1.dll
 ${BUILD_DIR}/imageformats)
        else (CMAKE_BUILD_TYPE MATCHES Debug)
                ow_copy_file(${QTDIR}/bin/QtCore4.dll ${BUILD_DIR})
@@ -114,8 +114,8 @@
                ow_copy_file(${QTDIR}/bin/QtXml4.dll ${BUILD_DIR})
                ow_copy_file(${QTDIR}/bin/QtSvg4.dll ${BUILD_DIR})
                #${BUILD_DIR}/imageformats/qmng1.dll first then it creates 
imageformats directory
-               ow_copy_file(${QT_PLUGINS_DIR}/imageformats/qmng1.dll 
${BUILD_DIR}/imageformats/qmng1.dll)
-               ow_copy_file(${QT_PLUGINS_DIR}/imageformats/qjpeg1.dll 
${BUILD_DIR}/imageformats)
+               ow_copy_file(${QT_PLUGINS_DIR}/imageformats/qmng4.dll 
${BUILD_DIR}/imageformats)
+               ow_copy_file(${QT_PLUGINS_DIR}/imageformats/qjpeg4.dll 
${BUILD_DIR}/imageformats)
                
ow_copy_file(${CMAKE_CURRENT_SOURCE_DIR}/binary-lib/msvc/imageformats/qgif1.dll 
${BUILD_DIR}/imageformats)
        endif (CMAKE_BUILD_TYPE MATCHES Debug)
 endif (MSVC)
Index: libs/owutil/util/CMakeLists.txt
===================================================================
--- libs/owutil/util/CMakeLists.txt     (revision 13253)
+++ libs/owutil/util/CMakeLists.txt     (working copy)
@@ -5,6 +5,11 @@
        boost
 )
 
+ow_add_private_definitions(
+       -DOWUTIL_DLL
+       -DBUILD_OWUTIL_DLL
+)
+
 ow_add_sources(
        src/Base64.cpp
        src/CountryList.cpp
Index: libs/webcam/CMakeLists.txt
===================================================================
--- libs/webcam/CMakeLists.txt  (revision 13253)
+++ libs/webcam/CMakeLists.txt  (working copy)
@@ -18,6 +18,11 @@
        owthread
 )
 
+ow_add_private_definitions(
+       -DWEBCAM_DLL
+       -DBUILD_WEBCAM_DLL
+)
+
 ow_add_public_include_dirs(
        ${CMAKE_CURRENT_SOURCE_DIR}/include
 )
Index: owbuild/owbuild/OWCreateProjectBinary.cmake
===================================================================
--- owbuild/owbuild/OWCreateProjectBinary.cmake (revision 13253)
+++ owbuild/owbuild/OWCreateProjectBinary.cmake (working copy)
@@ -68,9 +68,9 @@
 
                # Copy project binary
                if (MSVC)
-                       
ow_post_build_copy_file(${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}.dll 
${PROJECT_BINARY_COPY_DIR}/)
+                       
ow_post_build_copy_file(${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_BUILD_TYPE}/${PROJECT_NAME}.dll
 ${PROJECT_BINARY_COPY_DIR}/)
                        if (CMAKE_BUILD_TYPE STREQUAL Debug OR CMAKE_BUILD_TYPE 
STREQUAL RelWithDebInfo)
-                               
ow_post_build_copy_file(${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}.pdb 
${PROJECT_BINARY_COPY_DIR}/)
+                               
ow_post_build_copy_file(${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_BUILD_TYPE}/${PROJECT_NAME}.pdb
 ${PROJECT_BINARY_COPY_DIR}/)
                        endif (CMAKE_BUILD_TYPE STREQUAL Debug OR 
CMAKE_BUILD_TYPE STREQUAL RelWithDebInfo)
                endif (MSVC)
 
@@ -97,9 +97,9 @@
 
                # Copy project binary
                if (MSVC)
-                       
ow_post_build_copy_file(${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}.dll 
${PROJECT_BINARY_COPY_DIR}/)
+                       
ow_post_build_copy_file(${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_BUILD_TYPE}/${PROJECT_NAME}.dll
 ${PROJECT_BINARY_COPY_DIR}/)
                        if (CMAKE_BUILD_TYPE STREQUAL Debug OR CMAKE_BUILD_TYPE 
STREQUAL RelWithDebInfo)
-                               
ow_post_build_copy_file(${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}.pdb 
${PROJECT_BINARY_COPY_DIR}/)
+                               
ow_post_build_copy_file(${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_BUILD_TYPE}/${PROJECT_NAME}.pdb
 ${PROJECT_BINARY_COPY_DIR}/)
                        endif (CMAKE_BUILD_TYPE STREQUAL Debug OR 
CMAKE_BUILD_TYPE STREQUAL RelWithDebInfo)
                endif (MSVC)
 
@@ -151,9 +151,9 @@
 
                # Copy project binary
                if (MSVC)
-                       
ow_post_build_copy_file(${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}.exe 
${PROJECT_BINARY_COPY_DIR}/)
+                       
ow_post_build_copy_file(${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_BUILD_TYPE}/${PROJECT_NAME}.exe
 ${PROJECT_BINARY_COPY_DIR}/)
                        if (CMAKE_BUILD_TYPE STREQUAL Debug OR CMAKE_BUILD_TYPE 
STREQUAL RelWithDebInfo)
-                               
ow_post_build_copy_file(${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}.pdb 
${PROJECT_BINARY_COPY_DIR}/)
+                               
ow_post_build_copy_file(${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_BUILD_TYPE}/${PROJECT_NAME}.pdb
 ${PROJECT_BINARY_COPY_DIR}/)
                        endif (CMAKE_BUILD_TYPE STREQUAL Debug OR 
CMAKE_BUILD_TYPE STREQUAL RelWithDebInfo)
                endif (MSVC)
 
Index: wengophone/src/buildid/CMakeLists.txt
===================================================================
--- wengophone/src/buildid/CMakeLists.txt       (revision 13253)
+++ wengophone/src/buildid/CMakeLists.txt       (working copy)
@@ -17,14 +17,14 @@
 
 if (BUILDID_SUPPORT)
        ow_add_private_definitions(
-               -DDD_BUILDID=${CURRENT_DATE_TIME}LL
+               -DDD_BUILDID=${CURRENT_DATE_TIME}
                -DDD_VERSION=${APPLICATION_VERSION}
                -DDD_REVISION=${SVN_REVISION}
                -DDD_SOFTPHONE_NAME=wengo
        )
 else (BUILDID_SUPPORT)
        ow_add_private_definitions(
-               -DDD_BUILDID=0LL
+               -DDD_BUILDID=0
                -DDD_VERSION=0
                -DDD_REVISION=0
                -DDD_SOFTPHONE_NAME=wengo
Index: wifo/owsl/src/core/owsl_address.c
===================================================================
--- wifo/owsl/src/core/owsl_address.c   (revision 13253)
+++ wifo/owsl/src/core/owsl_address.c   (working copy)
@@ -985,8 +985,7 @@
 }
 
 /* TODO: refactor owsl_address_public_ip_get (temporary copied from eXosip) */
-OWSL_FUNC_DEF int
-owsl_address_public_ip_get
+int owsl_address_public_ip_get
 (
        OWSLAddressFamily family,
        char * ip,
Index: wifo/phapi-util/CMakeLists.txt
===================================================================
--- wifo/phapi-util/CMakeLists.txt      (revision 13253)
+++ wifo/phapi-util/CMakeLists.txt      (working copy)
@@ -8,6 +8,11 @@
        ${CMAKE_CURRENT_SOURCE_DIR}/include
 )
 
+ow_add_private_definitions(
+       -DPHAPIUTIL_DLL
+       -DBUILD_PHAPIUTIL_DLL
+)
+
 if (WIN32)
        ow_add_public_include_dirs(
                ${CMAKE_CURRENT_SOURCE_DIR}/include/phapi-util/msvc
Index: wifo/phapi/CMakeLists.txt
===================================================================
--- wifo/phapi/CMakeLists.txt   (revision 13253)
+++ wifo/phapi/CMakeLists.txt   (working copy)
@@ -54,6 +54,7 @@
        -DUSE_SPXEC=1
        -DPH_FORCE_16KHZ=1
        -DUSE_FLV1_OVER_H261=1
+       -DBUILD_PHAPI_DLL
 )
 
 if (PHAPI_CODEC_ILBC_SUPPORT)
@@ -64,7 +65,7 @@
 
 if (MSVC)
        ow_add_private_definitions(
-               
-DWENGOPHONE_UA="""wengo/v1/wengophoneng/wengo/rev${SVN_REVISION}/trunk/"""
+               -DWENGOPHONE_UA_MSVC
        )
 else (MSVC)
        ow_add_private_definitions(
Index: wifo/phapi/phapi.c
===================================================================
--- wifo/phapi/phapi.c  (revision 13253)
+++ wifo/phapi/phapi.c  (working copy)
@@ -26,6 +26,10 @@
 #define usleep(usecs) Sleep((usecs)/1000)
 #endif
 
+#if defined(WENGOPHONE_UA_MSVC)
+#define WENGOPHONE_UA "wengo/v1/wengophoneng/wengo/rev0/trunk/"
+#endif
+
 int owplHttpTunnelIsInitialized = 0;
 static int owslIsInitialized = 0;
 
Index: wifo/phapi/test/client/wlm_password.h
===================================================================
--- wifo/phapi/test/client/wlm_password.h       (revision 13253)
+++ wifo/phapi/test/client/wlm_password.h       (working copy)
@@ -1,9 +1,7 @@
 #ifndef WLM_PASSWORD_H
 #define WLM_PASSWORD_H
 
-#ifndef WINDOWS
-#include <unistd.h>
-#endif /* WINDOWS */
+#include <stdio.h>
 
 char *
 wlm_sip_password_get
_______________________________________________
Wengophone-devel mailing list
Wengophone-devel@lists.openwengo.com
http://dev.openwengo.com/mailman/listinfo/wengophone-devel

Reply via email to