Cool VL Viewer forum

View unanswered posts | View active topics It is currently 2024-03-28 10:47:02



Reply to topic  [ 14 posts ]  Go to page 1, 2  Next
Mac OSX Build 
Author Message

Joined: 2011-09-17 11:12:19
Posts: 360
Reply with quote
Edit: Newest build is now in the announcement section.

Its been a while since there has been released a new Mac OSX Version of Cool Viewer, so I wanted to share my own version. It's only tested briefly on a MacBook Pro running Mavericks, and its also my first try at xcode, so use it at your own risk.

Version 1.26.12.10
http://cattencarter.com/CoolVLViewer1.26.12.10.zip

MD5= d6734ac5c2c4387e5acf7a34fd0c0b53
SHA1= 3cf4146f31d6a5e84d531d0a2c13c962b25109c6

If you run a hybrid graphics card, you can change the debug setting texturememorymultiplier to 1.0 instead of 0.5. This will allow you to use the full 512mb texture memory.


Last edited by Catten on 2014-08-09 16:31:45, edited 3 times in total.



2014-07-29 21:04:51
Profile

Joined: 2009-03-17 18:42:51
Posts: 5523
Reply with quote
It's nice of you to share... :D

Did you encounter any issue during the building process (compilation errors or warnings) ?

If yes, please, let me know (since the changes I do to the Mac-specific code are done without any possible testing for me).


2014-07-29 21:30:49
Profile WWW

Joined: 2011-09-17 11:12:19
Posts: 360
Reply with quote
Yes a few, but since it is my first time in xcode (not liking it much :)) it could be due to my build settings.

I can't make patches I'm afraid yet in osx, but I can send you a list of the changes, they arn't much and from what I can see for instance the singularity viewer implements these as well.

tupple_basic.hpp
Code:
+#ifdef IF
+#undef IF
+#endif /* IF */
   
template <bool If, class Then, class Else> struct IF { typedef Then RET; };

template <class Then, class Else> struct IF<false, Then, Else> {
  typedef Else RET;
};


llappviewermacosx.cpp
Code:
+#if 0
   bool sCrashReporterIsRunning = false;
+#endif

+#if 0
static OSStatus CarbonEventHandler(EventHandlerCallRef inHandlerCallRef,
                           EventRef inEvent,
                           void* inUserData)
{
   ProcessSerialNumber psn;

   GetEventParameter(inEvent, kEventParamProcessID, typeProcessSerialNumber,
                 NULL, sizeof(psn), NULL, &psn);

   if (GetEventKind(inEvent) == kEventAppTerminated)
   {
      Boolean matching_psn = FALSE;
      OSErr os_result = SameProcess(&psn, (ProcessSerialNumber*)inUserData, &matching_psn);
      if (os_result >= 0 && matching_psn)
      {
         sCrashReporterIsRunning = false;
         QuitApplicationEventLoop();
      }
   }
   return noErr;
}
+#endif

if (result == noErr)
{
   std::string url = buffer;

   // Safari 3.2 silently mangles secondlife:///app/ URLs into
   // secondlife:/app/ (only one leading slash).
   // Fix them up to meet the URL specification. JC
   const std::string prefix = "secondlife:/app/";
   std::string test_prefix = url.substr(0, prefix.length());
   LLStringUtil::toLower(test_prefix);
   if (test_prefix == prefix)
   {
      url.replace(0, prefix.length(), "secondlife:///app/");
   }

   LLMediaCtrl* web = NULL;
   const bool trusted_browser = false;
-       LLURLDispatcher::dispatch(url, web, trusted_browser);
+   LLURLDispatcher::dispatch(url, "", web, trusted_browser);
}



Hope this makes sense in lack of patches. I'll try figure this out in osx later :D


2014-07-29 22:01:05
Profile

Joined: 2009-03-17 18:42:51
Posts: 5523
Reply with quote
Catten wrote:
Yes a few, but since it is my first time in xcode (not liking it much :)) it could be due to my build settings.

I can't make patches I'm afraid yet in osx, but I can send you a list of the changes, they arn't much and from what I can see for instance the singularity viewer implements these as well.

tupple_basic.hpp
Code:
+#ifdef IF
+#undef IF
+#endif /* IF */
This file pertains to a pre-built library (boost): it should not be modified. Instead, these lines should be added to the indra/llcommon/fix_macros.h file, and, if you still get warnings while compiling, just add an #include "fix_macros.h" in the source files which include the conflicting boost header (let me know which ones they are); the #include "fix_macros.h" should be inserted before the boost include(s).

Quote:
llappviewermacosx.cpp
.../...
Fixed for the next releases, thanks !


2014-07-30 00:45:27
Profile WWW

Joined: 2011-09-17 11:12:19
Posts: 360
Reply with quote
Yea I know its not exactly nice to edit boost, but I was anxious to get past all the compiler warnings and settings to see if it would even run on my setup lol. I'll try and do a clean setup, so I can contribute better. Then I will see if I can't do anything to speed up rendering on mac osx.


2014-07-30 09:20:27
Profile

Joined: 2011-12-13 14:11:38
Posts: 186
Reply with quote
Catten wrote:
Its been a while since there has been released a new Mac OSX Version of Cool Viewer, so I wanted to share my own version. It's only tested briefly on a MacBook Pro running Mavericks, and its also my first try at xcode, so use it at your own risk.

Version 1.26.12.9
http://cattencarter.com/Cool_VL_Viewer_1.26.12.9.zip

MD5= 8b36b6ef39d21e5a5c863d1b7d97c45c
SHA1= ffa415c4f0af010d77adb49d90a75ef08de1a44f

If you run a hybrid graphics card, you can change the debug setting texturememorymultiplier to 1.0 instead of 0.5. This will allow you to use the full 512mb texture memory.

Yesssss! :D Darn, I had missed that one… So I'm running it on a 27" iMac with Mavericks and so far, status is 'works for me'. Glad to see the red arrow back, and my av no more turns when I reset my view after camming around, wooohoooo! Thank you so much for this build!


2014-07-30 15:57:50
Profile

Joined: 2011-09-17 11:12:19
Posts: 360
Reply with quote
This is the patch for the boost header.

Code:
--- /linden/indra/llcommon/fix_macros.h   2013-05-05 01:33:43.000000000 +0200
+++ /linden/indra/llcommon/fix_macros.h   2014-07-30 17:38:51.000000000 +0200
@@ -32,3 +32,9 @@
 #ifdef require
 #undef require
 #endif
+
+#if LL_DARWIN
+#ifdef IF
+#undef IF
+#endif /* IF */
+#endif /* LL_DARWIN */


Code:
--- /linden/indra/lscript/lscript_compile/indra.y   2014-02-16 00:50:07.000000000 +0100
+++ /linden/indra/lscript/lscript_compile/indra.y   2014-07-30 18:01:03.000000000 +0200
@@ -1,5 +1,9 @@
 %{
-   #include "linden_common.h"
+    #if LL_DARWIN
+   #include "fix_macros.h"
+    #endif /* LL_DARWIN */
+   
+    #include "linden_common.h"
    #include "lscript_tree.h"
 
    int yylex(void);


2014-07-30 16:33:41
Profile

Joined: 2009-03-17 18:42:51
Posts: 5523
Reply with quote
Fixes included in today's releases. Many thanks !


2014-08-02 09:41:09
Profile WWW

Joined: 2011-09-17 11:12:19
Posts: 360
Reply with quote
Great :D

Made a build of 1.26.12.10, the link is in the top.


2014-08-02 12:34:47
Profile

Joined: 2011-09-17 11:12:19
Posts: 360
Reply with quote
Now that the source compiles out of the box, I'd like to work some on the make files. Each build requires a lot of manual editing in xcode after running cmake, with compiler settings, paths etc.

I don't have a lot of experience in make and cmake, so is there anything I should be aware of? so I don't break for instance the linux build etc.?


2014-08-05 22:03:30
Profile
Display posts from previous:  Sort by  
Reply to topic   [ 14 posts ]  Go to page 1, 2  Next

Who is online

Users browsing this forum: No registered users and 17 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group
Designed by ST Software.