[prev in list] [next in list] [prev in thread] [next in thread] 

List:       helix-server-cvs
Subject:    [Server-cvs] protocol/common mp_url_parser.cpp,1.8,1.8.6.1
From:       dcollins () helixcommunity ! org
Date:       2013-10-15 18:47:22
[Download RAW message or body]

Update of /cvsroot/server/protocol/common
In directory cvs01.internal.helixcommunity.org:/tmp/cvs-serv29610/protocol/common

Modified Files:
      Tag: SERVER_NUCLEUS
	mp_url_parser.cpp 
Log Message:
Synopsis
========
RPDS OSX-related updates

Branches:  SERVER_NUCLEUS
Reviewer:  Qiang


Description
===========
This implements changes that allow much of RPDS to compile on OSX.
The build platform is 64-bit-only, OS X 10.8.
The build is with XCode 5, configured with compatability with OSX 10.6
(this config may change, but for now this is being used for base port
work.  The Ribosome build config is still under development and not part
of this diff.)

These changes include:
* Adding #ifdef _OSX_BSD to enable BSD-style APIs in a number of
  low-level areas.
* Casting tweaks, typically due to this being a 64-bit build
* For the server all IHXFileStat::Stat() methods need to use the
  HX_SIZE_T, HX_STAT_TIME_T, and HX_STAT_MODE_T for arguments
  rather than UINT32.  In addition to fixing build busters, this
  also permits the server's large-file support to be used.
* Various file size/offset variables are updated to UINT64 to
  allow for the above HX_SIZE_T.
* More complete implementation of atomic operators, using Apple's
  standard OSAtomic operations.
* Added an OSX mutex primitive using OSAtomic.
* Added stubs/placeholders for code that need to be implemented/modified
  for OSX.  These are typically marked with "OSX TODO" and HX_ASSERT().
* Disabled named-pipe, userid, watch-folders, and some other
  Windows-specific API calls in OSX builds of cloudmgr and cmsplin.
* ARRAYSIZE and MAX_PATH are Windows-specific, don't use them.
* Some wide/utf8 string-related changes were not building for Unix.
* Unix-specific code in TransFS was updated to match the current
  TransFS APIs (these changed after Linux was last maintaned in
  this plugin).
* A few of the more frequent compiler warnings were fixed.
* String-related headers were updated for a handful of files.
* The installer modules were updated to comple, then I later disabled
  most of this since we won't be using the legacy Unix installer.
  I added a simple pseudo-installer that just makes a zipfile of
  the "temp" folder for debugginging convenience.
* Plugin loader updated to load *.bundle filenames.
* SystemInfoOSX cloned from Linux and tweaked to provide MachineID
  and related info.
* "struct _stat" usage replaced with HXSTAT in a few places where
  it was still missing.
* Most of the new files are either Umakefil-related or OSX-related
  stub code.

This is essentially untested and unfinished.  I need to check in what
I have before performing some refactoring.


Files Affected
==============
Modiefied:
215 files [not listing]

Added: 
common/import/sqlite/version_3_7_15/osx-bsd.pcf
common/system/osx.pcf
server-restricted/common/util/osx.pcf
server-restricted/common/util/platform/osx/systeminfoosx.cpp
server-restricted/common/util/pub/platform/osx/systeminfoosx.h
server_rn/nucleus/aloha/guids.cpp
server_rn/nucleus/cloud/manager/linux2.cf
server_rn/nucleus/cloud/manager/msghandlerstub.cpp
server_rn/nucleus/cms/cmsplin/linux2.pcf
server_rn/nucleus/cms/cmsplin/msghandlerstub.cpp
server_rn/nucleus/cms/cmsplin/osx.pcf
server_rn/nucleus/cms/library/platform/unix/unixlibrary.cpp
server_rn/nucleus/cms/library/unix.pcf
server_rn/nucleus/common/launcher/unix.pcf
server_rn/nucleus/common/util/make_lib_unix.pcf
server_rn/nucleus/common/util/platform/unix/useropsunix.cpp
server_rn/nucleus/db/platform/unix/unixdb.cpp
server_rn/nucleus/db/unix.pcf
server_rn/nucleus/engine/bin/osx.pcf
server_rn/nucleus/engine/bin/platform/unix/unixmain.cpp
server_rn/nucleus/import/miniupnp/1.7.20120830/osx-bsd.pcf
server_rn/nucleus/installer/dbclean/make_exe_unix.pcf
server_rn/nucleus/installer/dbclean/make_lib_unix.pcf
server_rn/nucleus/installer/make_tempdir_osx


Testing Performed
=================
Unit Tests:
- None

Integration Tests:
- most executables build (including rpdsvc and sqlite)
- most plugins build (alohapln, cldplin, smplfsys, tmplgpln, transfspln, webapipln)
- Command-line tests of rpdsvc: "rpdsvc -v", "rpdsvc --help", "rpdsvc --vsi test"
- sqlite also runs


Leak Tests:
- None

Performance Tests:
- None

Platforms Tested:  OSX 10.8/10.6 / x86_64 (Debug & Release)
Builds Verified:  XCode5 on OSX 10.8 / x86_64 / Debug & Release


QA Hints
========
Not really testable yet :)


Index: mp_url_parser.cpp
===================================================================
RCS file: /cvsroot/server/protocol/common/mp_url_parser.cpp,v
retrieving revision 1.8
retrieving revision 1.8.6.1
diff -u -d -r1.8 -r1.8.6.1
--- mp_url_parser.cpp	24 Nov 2011 04:53:49 -0000	1.8
+++ mp_url_parser.cpp	15 Oct 2013 18:47:09 -0000	1.8.6.1
@@ -35,9 +35,16 @@
  *   
  * ***** END LICENSE BLOCK ***** */  
 
-#include "server_context.h"
 #include "hxtypes.h"
 #include "hxcom.h"
+
+#include "hlxclib/stdio.h"
+#include "hlxclib/string.h"
+#include "hlxclib/tchar.h"
+#include "hlxclib/sys/stat.h"
+#include "hlxosstr.h"
+
+#include "server_context.h"
 #include "hxmon.h"
 #include "hxerror.h"
 #include "hxstring.h"


_______________________________________________
Server-cvs mailing list
Server-cvs@helixcommunity.org
http://lists.helixcommunity.org/mailman/listinfo/server-cvs
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic