diff --git a/doc/contributions.txt b/doc/contributions.txt
index 2e4d80325253576e7ffbcd441766c2b5b50d0e88..461ddeb6b9e796cba538b3829b59e1d1f4817ca8 100644
--- a/doc/contributions.txt
+++ b/doc/contributions.txt
@@ -502,6 +502,8 @@ Ringo Tuxing
 Robin Cornelius
 	SNOW-108
 	SNOW-204
+	SNOW-287
+	SNOW-512
 	VWR-2488
 	VWR-9557
 	VWR-11128
diff --git a/indra/llcommon/CMakeLists.txt b/indra/llcommon/CMakeLists.txt
index 9ead183a9e043cc5de702403426dc2fb816d8661..feb6d507994925fe6526997bce881fd819fe0cd1 100644
--- a/indra/llcommon/CMakeLists.txt
+++ b/indra/llcommon/CMakeLists.txt
@@ -250,6 +250,13 @@ list(APPEND llcommon_SOURCE_FILES ${llcommon_HEADER_FILES})
 
 if(LLCOMMON_LINK_SHARED)
     add_library (llcommon SHARED ${llcommon_SOURCE_FILES})
+    if(NOT CMAKE_SIZEOF_VOID_P MATCHES 4)
+      if(WINDOWS)
+        add_definitions(/FIXED:NO)
+      else(WINDOWS) # not windows therefore gcc LINUX and DARWIN
+        add_definitions(-fPIC)
+      endif(WINDOWS)
+    endif(NOT CMAKE_SIZEOF_VOID_P MATCHES 4)
     ll_stage_sharedlib(llcommon)
 else(LLCOMMON_LINK_SHARED)
     add_library (llcommon ${llcommon_SOURCE_FILES})
diff --git a/indra/llplugin/CMakeLists.txt b/indra/llplugin/CMakeLists.txt
index 6706775d4feff329e1754404f638ca75fa0f7663..d9b623d5c020a9ad7e360ccd263255f5198ccf1f 100644
--- a/indra/llplugin/CMakeLists.txt
+++ b/indra/llplugin/CMakeLists.txt
@@ -48,6 +48,14 @@ set(llplugin_HEADER_FILES
 set_source_files_properties(${llplugin_HEADER_FILES}
                             PROPERTIES HEADER_FILE_ONLY TRUE)
 
+if(NOT CMAKE_SIZEOF_VOID_P MATCHES 4)
+	if(WINDOWS)
+		add_definitions(/FIXED:NO)
+	else(WINDOWS) # not windows therefore gcc LINUX and DARWIN
+		add_definitions(-fPIC)
+	endif(WINDOWS)
+endif (NOT CMAKE_SIZEOF_VOID_P MATCHES 4)
+
 list(APPEND llplugin_SOURCE_FILES ${llplugin_HEADER_FILES})
 
 add_library (llplugin ${llplugin_SOURCE_FILES})
diff --git a/indra/media_plugins/base/CMakeLists.txt b/indra/media_plugins/base/CMakeLists.txt
index f8d2dabc6cafbb2e42b4c60ad41a2d4a391226d0..16fd0241398c0d9ec92719b88ba3eb8a2b28440c 100644
--- a/indra/media_plugins/base/CMakeLists.txt
+++ b/indra/media_plugins/base/CMakeLists.txt
@@ -25,6 +25,14 @@ include_directories(
 
 ### media_plugin_base
 
+if(NOT CMAKE_SIZEOF_VOID_P MATCHES 4)
+  if(WINDOWS)
+    add_definitions(/FIXED:NO)
+  else(WINDOWS) # not windows therefore gcc LINUX and DARWIN
+    add_definitions(-fPIC)
+  endif(WINDOWS)
+endif (NOT CMAKE_SIZEOF_VOID_P MATCHES 4)
+
 set(media_plugin_base_SOURCE_FILES
     media_plugin_base.cpp
 )
diff --git a/indra/media_plugins/example/CMakeLists.txt b/indra/media_plugins/example/CMakeLists.txt
index 4d82f2747c0a7bf1dbc4428473774d2378242c5f..7e4cdb0dafed5768f1bd57ef413aae5f58aae10c 100644
--- a/indra/media_plugins/example/CMakeLists.txt
+++ b/indra/media_plugins/example/CMakeLists.txt
@@ -29,6 +29,14 @@ include_directories(
 
 ### media_plugin_example
 
+if(NOT CMAKE_SIZEOF_VOID_P MATCHES 4)
+  if(WINDOWS)
+    add_definitions(/FIXED:NO)
+  else(WINDOWS) # not windows therefore gcc LINUX and DARWIN
+    add_definitions(-fPIC)
+  endif(WINDOWS)
+endif (NOT CMAKE_SIZEOF_VOID_P MATCHES 4)
+
 set(media_plugin_example_SOURCE_FILES
     media_plugin_example.cpp
     )
diff --git a/indra/media_plugins/gstreamer010/CMakeLists.txt b/indra/media_plugins/gstreamer010/CMakeLists.txt
index 3b73e04786f4c231fe2c939ad279441c31495d1d..d6d697ba8122fbf0916ad6088b77cf5ef24d66d3 100644
--- a/indra/media_plugins/gstreamer010/CMakeLists.txt
+++ b/indra/media_plugins/gstreamer010/CMakeLists.txt
@@ -30,6 +30,14 @@ include_directories(
 
 ### media_plugin_gstreamer010
 
+if(NOT CMAKE_SIZEOF_VOID_P MATCHES 4)
+  if(WINDOWS)
+    add_definitions(/FIXED:NO)
+  else(WINDOWS) # not windows therefore gcc LINUX and DARWIN
+    add_definitions(-fPIC)
+  endif(WINDOWS)
+endif (NOT CMAKE_SIZEOF_VOID_P MATCHES 4)
+
 set(media_plugin_gstreamer010_SOURCE_FILES
     media_plugin_gstreamer010.cpp
     llmediaimplgstreamer_syms.cpp
diff --git a/indra/media_plugins/webkit/CMakeLists.txt b/indra/media_plugins/webkit/CMakeLists.txt
index 5bccd589d80de18d27311d7591971814997f087d..2073ee00debd419039eaf155de34a78cba9d64e6 100644
--- a/indra/media_plugins/webkit/CMakeLists.txt
+++ b/indra/media_plugins/webkit/CMakeLists.txt
@@ -29,6 +29,14 @@ include_directories(
 
 ### media_plugin_webkit
 
+if(NOT CMAKE_SIZEOF_VOID_P MATCHES 4)
+  if(WINDOWS)
+    add_definitions(/FIXED:NO)
+  else(WINDOWS) # not windows therefore gcc LINUX and DARWIN
+    add_definitions(-fPIC)
+  endif(WINDOWS)
+endif (NOT CMAKE_SIZEOF_VOID_P MATCHES 4)
+
 set(media_plugin_webkit_SOURCE_FILES
     media_plugin_webkit.cpp
     )