Single SDK for all platforms (+ SVN or GIT repo)?

Would it be possible to release single SDK for all platforms Windows, Linux, Mac and both ES1.1 & ES2? In fact all of these SDKs share same source code base and they differ only with “Binary” and “build” subfolders.





I believe it is very confusing to keep all these versions of SDK, as anyway many of developers aim to many platforms such as Android and iOS, many want to support both ES1.1 and ES2, and many of them wish to prototype the app using VFrame on their desktop. This makes the platform separation unnecessary, confusing and also hard to maintain if you want to build to anything else than single device.





Moreover surprisingly SDKs for all platforms contain “Utilities” folder with binaries for all platforms not just for the selected one, and these binaries are 95% of content of each SDK.





Finally it would be dream come true if you could release the SDK project as kind of SVN or Git repository, so we could constantly pull your changes.





Best regards,


Adam





P.S. Any clue how to build demos using VFrame rather than XCode on Mac via Makefile (command line). I believe linux PC emulation is closest, but it fails on "PVRShellOS.h: No such file or directory"nanoant2011-04-13 14:57:17

An SDK package like you describe is in the works, but didn’t quite make the current release - hopefully next time. I don’t think we’re likely to release the SDKs through a repository system at any time in the future, I’m afraid.

There is actually a version of PVRVFrame for Mac OS using the X11 environment in the 2.8 SDK. We haven’t prepared a dedicated SDK package for this yet, but linking to the PVRVFrame libraries should work and allow you to run emulation under this OS.

Note the command xcodebuild allows XCode projects to be built from the command line under MacOS - the man page for it describes it further.



Gordon wrote:
An SDK package like you describe is in the works, but didn't quite make the current release - hopefully next time. I don't think we're likely to release the SDKs through a repository system at any time in the future, I'm afraid. There is actually a version of PVRVFrame for Mac OS using the X11 environment in the 2.8 SDK. We haven't prepared a dedicated SDK package for this yet, but linking to the PVRVFrame libraries should work and allow you to run emulation under this OS.Note the command xcodebuild allows XCode projects to be built from the command line under MacOS - the man page for it describes it further.




FYI I have managed to run tutorial examples under VFrame running X11 on Mac using Linux PC Emulation SDK! But it wasn't really obvious. Here's how I did it:



1. Did following changes

Quote:
--- ./Builds/OGLES2/LinuxX86/make_platform.org.mak     2011-04-13 17:00:11.000000000 +0200

+++ ./Builds/OGLES2/LinuxX86/make_platform.mak     2011-04-13 16:49:47.000000000 +0200

@@ -40,14 +40,15 @@

endif



LIBDIR ?= $(SDKDIR)/Builds/OGLES2/$(PLATFORM)/Lib

-LIBDIR_FLAGS = -L$(LIBDIR) -Wl,--rpath-link,$(LIBDIR)

+# LIBDIR_FLAGS = -L$(LIBDIR) -Wl,--rpath-link,$(LIBDIR)

+LIBDIR_FLAGS = -arch i386



ifdef Debug

DEBUG_RELEASE = Debug

-PLAT_CFLAGS   += -m32 -DBUILD_OGLES2 -Wall -DDEBUG -g -march=i686

+PLAT_CFLAGS   += -m32 -DBUILD_OGLES2 -Wall -DDEBUG -g -march=i686 -arch i386

else

DEBUG_RELEASE = Release

-PLAT_CFLAGS   += -m32 -DBUILD_OGLES2 -Wall -DRELEASE -O2 -march=i686

+PLAT_CFLAGS   += -m32 -DBUILD_OGLES2 -Wall -DRELEASE -O2 -march=i686 -arch i386

endif



ifdef SDKDIR
Quote:
--- ./Shell/OS/LinuxX11/PVRShellOS.org.cpp     2011-04-13 17:00:24.000000000 +0200

+++ ./Shell/OS/LinuxX11/PVRShellOS.cpp     2011-04-13 16:56:45.000000000 +0200

@@ -27,6 +27,10 @@

#include "PVRShellOS.h"

#include "PVRShellImpl.h"



+#ifdef __APPLE__

+#include <mach-o/dyld.h>

+#endif

+

/*!***************************************************************************

     Defines

*****************************************************************************/

@@ -85,6 +89,13 @@

     // Get PID (Process ID)

     pid_t ourPid = getpid();

     char *pszExePath, pszSrcLink[64];

+#ifdef __APPLE__

+     uint32_t len = 64;

+     _NSGetExecutablePath(pszExePath, &len);

+     SetReadPath(pszExePath);

+     SetWritePath(pszExePath);

+     SetAppName(pszExePath);

+#else

     int len = 64;

     int res;



@@ -112,6 +123,7 @@

          SetWritePath(pszExePath);

          SetAppName(pszExePath);

     }

+#endif



     delete[] pszExePath;




2. Replaced all Linux utilities with Mac utilities in "Utilities" subdirectory



3. Compiled an example using

Quote:
make PLATFORM=LinuxX86 X11BUILD=1 X11ROOT=/usr/X11



Of course it would be great if next universal SDK would allow me to build VFrame for Mac X11 using:

Quote:
make PLATFORM=MacX86 X11BUILD=1 X11ROOT=/usr/X11