Index: cpukit/Makefile.am
===================================================================
--- cpukit/Makefile.am	(revision e97806a5ff7673422082edd49ec3c62c5f0f1ccd)
+++ cpukit/Makefile.am	(revision 9318cfb050c0cd15f0bf5b600177b0682583cf18)
@@ -552,5 +552,7 @@
 librtemscpu_a_SOURCES += posix/src/pspinlock.c
 librtemscpu_a_SOURCES += posix/src/pspinunlock.c
+librtemscpu_a_SOURCES += posix/src/psxnametoid.c
 librtemscpu_a_SOURCES += posix/src/psxpriorityisvalid.c
+librtemscpu_a_SOURCES += posix/src/psxsemaphore.c
 librtemscpu_a_SOURCES += posix/src/psxsemaphoreconfig.c
 librtemscpu_a_SOURCES += posix/src/psxtimerconfig.c
@@ -606,10 +608,14 @@
 librtemscpu_a_SOURCES += posix/src/sched_setscheduler.c
 librtemscpu_a_SOURCES += posix/src/sched_yield.c
+librtemscpu_a_SOURCES += posix/src/semaphoredeletesupp.c
+librtemscpu_a_SOURCES += posix/src/semclose.c
 librtemscpu_a_SOURCES += posix/src/semdestroy.c
 librtemscpu_a_SOURCES += posix/src/semgetvalue.c
 librtemscpu_a_SOURCES += posix/src/seminit.c
+librtemscpu_a_SOURCES += posix/src/semopen.c
 librtemscpu_a_SOURCES += posix/src/sempost.c
 librtemscpu_a_SOURCES += posix/src/semtimedwait.c
 librtemscpu_a_SOURCES += posix/src/semtrywait.c
+librtemscpu_a_SOURCES += posix/src/semunlink.c
 librtemscpu_a_SOURCES += posix/src/semwait.c
 librtemscpu_a_SOURCES += posix/src/setcancelstate.c
@@ -1056,7 +1062,5 @@
 librtemscpu_a_SOURCES += posix/src/psignalsetprocesssignals.c
 librtemscpu_a_SOURCES += posix/src/psignalunblockthread.c
-librtemscpu_a_SOURCES += posix/src/psxnametoid.c
 librtemscpu_a_SOURCES += posix/src/psxpriorityisvalid.c
-librtemscpu_a_SOURCES += posix/src/psxsemaphore.c
 librtemscpu_a_SOURCES += posix/src/psxtimercreate.c
 librtemscpu_a_SOURCES += posix/src/psxtimerdelete.c
@@ -1070,8 +1074,4 @@
 librtemscpu_a_SOURCES += posix/src/pthreadsigmask.c
 librtemscpu_a_SOURCES += posix/src/ptimer.c
-librtemscpu_a_SOURCES += posix/src/semaphoredeletesupp.c
-librtemscpu_a_SOURCES += posix/src/semclose.c
-librtemscpu_a_SOURCES += posix/src/semopen.c
-librtemscpu_a_SOURCES += posix/src/semunlink.c
 librtemscpu_a_SOURCES += posix/src/setitimer.c
 librtemscpu_a_SOURCES += posix/src/shm.c
Index: cpukit/include/rtems/confdefs.h
===================================================================
--- cpukit/include/rtems/confdefs.h	(revision e97806a5ff7673422082edd49ec3c62c5f0f1ccd)
+++ cpukit/include/rtems/confdefs.h	(revision 9318cfb050c0cd15f0bf5b600177b0682583cf18)
@@ -33,4 +33,8 @@
 #include <rtems/score/userextimpl.h>
 #include <rtems/score/wkspace.h>
+#include <rtems/posix/key.h>
+#include <rtems/posix/semaphore.h>
+
+#include <limits.h>
 
 #ifdef CONFIGURE_DISABLE_BSP_SETTINGS
@@ -1933,4 +1937,8 @@
       rtems_resource_unlimited(CONFIGURE_UNLIMITED_ALLOCATION_SIZE)
   #endif
+  #if !defined(CONFIGURE_MAXIMUM_POSIX_SEMAPHORES)
+    #define CONFIGURE_MAXIMUM_POSIX_SEMAPHORES \
+      rtems_resource_unlimited(CONFIGURE_UNLIMITED_ALLOCATION_SIZE)
+  #endif
 
   #ifdef RTEMS_POSIX_API
@@ -1951,8 +1959,4 @@
     #if !defined(CONFIGURE_MAXIMUM_POSIX_MESSAGE_QUEUES)
       #define CONFIGURE_MAXIMUM_POSIX_MESSAGE_QUEUES \
-        rtems_resource_unlimited(CONFIGURE_UNLIMITED_ALLOCATION_SIZE)
-    #endif
-    #if !defined(CONFIGURE_MAXIMUM_POSIX_SEMAPHORES)
-      #define CONFIGURE_MAXIMUM_POSIX_SEMAPHORES \
         rtems_resource_unlimited(CONFIGURE_UNLIMITED_ALLOCATION_SIZE)
     #endif
@@ -2257,6 +2261,4 @@
 /**@{*/
 
-#include <rtems/posix/key.h>
-
 /**
  * This configuration parameter specifies the maximum number of
@@ -2298,4 +2300,29 @@
 
 /*
+ * Account for the object control structures plus the name
+ * of the object to be duplicated.
+ */
+#define _Configure_POSIX_Named_Object_RAM(_number, _size) \
+  (_Configure_Object_RAM(_number, _size) \
+    + _Configure_Max_Objects(_number) \
+      * _Configure_From_workspace(_POSIX_PATH_MAX + 1))
+
+/**
+ * This configuration parameter specifies the maximum number of
+ * POSIX API semaphores.
+ */
+#ifndef CONFIGURE_MAXIMUM_POSIX_SEMAPHORES
+  #define CONFIGURE_MAXIMUM_POSIX_SEMAPHORES 0
+#endif
+
+/*
+ * This macro is calculated to specify the memory required for
+ * POSIX API semaphores.
+ */
+#define _CONFIGURE_MEMORY_FOR_POSIX_SEMAPHORES(_semaphores) \
+  _Configure_POSIX_Named_Object_RAM( \
+     _semaphores, sizeof(POSIX_Semaphore_Control) )
+
+/*
  *  The rest of the POSIX threads API features are only available when
  *  POSIX is enabled.
@@ -2304,23 +2331,12 @@
   #include <sys/types.h>
   #include <signal.h>
-  #include <limits.h>
   #include <mqueue.h>
   #include <rtems/posix/mqueue.h>
   #include <rtems/posix/psignal.h>
   #include <rtems/posix/pthread.h>
-  #include <rtems/posix/semaphore.h>
   #include <rtems/posix/shm.h>
   #include <rtems/posix/threadsup.h>
   #include <rtems/posix/timer.h>
 
-  /*
-   * Account for the object control structures plus the name
-   * of the object to be duplicated.
-   */
-  #define _Configure_POSIX_Named_Object_RAM(_number, _size) \
-    (_Configure_Object_RAM(_number, _size) \
-      + _Configure_Max_Objects(_number) \
-        * _Configure_From_workspace(_POSIX_PATH_MAX + 1))
-
   /**
    * This configuration parameter specifies the maximum number of
@@ -2377,20 +2393,4 @@
     _Configure_POSIX_Named_Object_RAM( \
        _message_queues, sizeof(POSIX_Message_queue_Control) )
-
-  /**
-   * This configuration parameter specifies the maximum number of
-   * POSIX API semaphores.
-   */
-  #ifndef CONFIGURE_MAXIMUM_POSIX_SEMAPHORES
-    #define CONFIGURE_MAXIMUM_POSIX_SEMAPHORES 0
-  #endif
-
-  /*
-   * This macro is calculated to specify the memory required for
-   * POSIX API semaphores.
-   */
-  #define _CONFIGURE_MEMORY_FOR_POSIX_SEMAPHORES(_semaphores) \
-    _Configure_POSIX_Named_Object_RAM( \
-       _semaphores, sizeof(POSIX_Semaphore_Control) )
 
   /**
@@ -2560,6 +2560,4 @@
       _CONFIGURE_MEMORY_FOR_POSIX_MESSAGE_QUEUES( \
         CONFIGURE_MAXIMUM_POSIX_MESSAGE_QUEUES) + \
-      _CONFIGURE_MEMORY_FOR_POSIX_SEMAPHORES( \
-        CONFIGURE_MAXIMUM_POSIX_SEMAPHORES) + \
       _CONFIGURE_MEMORY_FOR_POSIX_SHMS( \
         CONFIGURE_MAXIMUM_POSIX_SHMS) + \
@@ -2722,4 +2720,6 @@
       _CONFIGURE_POSIX_KEYS, \
       CONFIGURE_MAXIMUM_POSIX_KEY_VALUE_PAIRS ) + \
+   _CONFIGURE_MEMORY_FOR_POSIX_SEMAPHORES( \
+     CONFIGURE_MAXIMUM_POSIX_SEMAPHORES) + \
    _CONFIGURE_MEMORY_FOR_POSIX + \
    _CONFIGURE_MEMORY_FOR_STATIC_EXTENSIONS + \
@@ -3220,10 +3220,12 @@
     uint32_t POSIX_KEYS;
 
+    /* POSIX API Pieces */
 #ifdef RTEMS_POSIX_API
-    /* POSIX API Pieces */
     uint32_t POSIX_TIMERS;
     uint32_t POSIX_QUEUED_SIGNALS;
     uint32_t POSIX_MESSAGE_QUEUES;
+#endif
     uint32_t POSIX_SEMAPHORES;
+#ifdef RTEMS_POSIX_API
     uint32_t POSIX_SHMS;
 #endif
@@ -3273,5 +3275,7 @@
     _CONFIGURE_MEMORY_FOR_POSIX_MESSAGE_QUEUES(
       CONFIGURE_MAXIMUM_POSIX_MESSAGE_QUEUES ),
+#endif
     _CONFIGURE_MEMORY_FOR_POSIX_SEMAPHORES( CONFIGURE_MAXIMUM_POSIX_SEMAPHORES ),
+#ifdef RTEMS_POSIX_API
     _CONFIGURE_MEMORY_FOR_POSIX_SHMS( CONFIGURE_MAXIMUM_POSIX_SHMS ),
     _CONFIGURE_MEMORY_FOR_POSIX_TIMERS( CONFIGURE_MAXIMUM_POSIX_TIMERS ),
@@ -3341,5 +3345,4 @@
        (CONFIGURE_MAXIMUM_POSIX_QUEUED_SIGNALS != 0) || \
        (CONFIGURE_MAXIMUM_POSIX_MESSAGE_QUEUES != 0) || \
-       (CONFIGURE_MAXIMUM_POSIX_SEMAPHORES != 0) || \
        (CONFIGURE_MAXIMUM_POSIX_SHMS != 0) || \
       defined(CONFIGURE_POSIX_INIT_THREAD_TABLE))
Index: cpukit/rtems/src/rtemsobjectgetapiclassname.c
===================================================================
--- cpukit/rtems/src/rtemsobjectgetapiclassname.c	(revision e97806a5ff7673422082edd49ec3c62c5f0f1ccd)
+++ cpukit/rtems/src/rtemsobjectgetapiclassname.c	(revision 9318cfb050c0cd15f0bf5b600177b0682583cf18)
@@ -43,16 +43,18 @@
 };
 
+static const rtems_assoc_t rtems_object_api_posix_assoc[] = {
 #ifdef RTEMS_POSIX_API
-static const rtems_assoc_t rtems_object_api_posix_assoc[] = {
   { "Thread",                  OBJECTS_POSIX_THREADS, 0},
   { "Key",                     OBJECTS_POSIX_KEYS, 0},
   { "Interrupt",               OBJECTS_POSIX_INTERRUPTS, 0},
   { "Message Queue",           OBJECTS_POSIX_MESSAGE_QUEUES, 0},
+#endif
   { "Semaphore",               OBJECTS_POSIX_SEMAPHORES, 0},
+#ifdef RTEMS_POSIX_API
   { "Timer",                   OBJECTS_POSIX_TIMERS, 0},
   { "Shared Memory",           OBJECTS_POSIX_SHMS, 0},
+#endif
   { NULL,                      0, 0}
 };
-#endif
 
 const char *rtems_object_get_api_class_name(
@@ -68,8 +70,6 @@
   else if ( the_api == OBJECTS_CLASSIC_API )
     api_assoc = rtems_object_api_classic_assoc;
-#ifdef RTEMS_POSIX_API
   else if ( the_api == OBJECTS_POSIX_API )
     api_assoc = rtems_object_api_posix_assoc;
-#endif
   else
     return "BAD API";
