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
+++ ./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;
+++ ./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