I'm sure I've missed something in my modification of the base-safe.ecf file. It is below. Would you mind taking a look. You can see the modifications. I've added "pp_" to all the paths.
<description>Eiffel Base</description>
<target name="base">
<description>FreeELKS: Library of reusable components for Eiffel.
<root all_classes="true"></root>
<file_rule>
<exclude>/.svn$</exclude>
</file_rule>
<option warning="true" void_safety="all" namespace="EiffelSoftware.Library">
</option>
<setting name="dotnet_naming_convention" value="true"></setting>
<mapping old_name="REAL" new_name="REAL_32"></mapping>
<mapping old_name="STRING" new_name="STRING_8"></mapping>
<mapping old_name="REAL_REF" new_name="REAL_32_REF"></mapping>
<mapping old_name="INTEGER_REF" new_name="INTEGER_32_REF"></mapping>
<mapping old_name="INTEGER" new_name="INTEGER_32"></mapping>
<mapping old_name="WIDE_CHARACTER" new_name="CHARACTER_32"></mapping>
<mapping old_name="WIDE_CHARACTER_REF" new_name="CHARACTER_32_REF"></mapping>
<mapping old_name="NATURAL" new_name="NATURAL_32"></mapping>
<mapping old_name="DOUBLE_REF" new_name="REAL_64_REF"></mapping>
<mapping old_name="CHARACTER" new_name="CHARACTER_8"></mapping>
<mapping old_name="CHARACTER_REF" new_name="CHARACTER_8_REF"></mapping>
<mapping old_name="DOUBLE" new_name="REAL_64"></mapping>
<assembly name="eiffelsoftware_runtime" location="$ISE_EIFFEL\studio\spec\$ISE_PLATFORM\lib\EiffelSoftware.Runtime.dll"></assembly>
<assembly name="mscorlib" location="$ISE_DOTNET_FRAMEWORK\mscorlib.dll">
<renaming old_name="INTERFACE_TYPE_ATTRIBUTE" new_name="SYSTEM_INTERFACE_TYPE_ATTRIBUTE"></renaming>
<renaming old_name="ENCODING" new_name="SYSTEM_ENCODING"></renaming>
<renaming old_name="THREAD_STATE" new_name="SYSTEM_THREAD_STATE"></renaming>
<renaming old_name="TIMER" new_name="SYSTEM_TIMER"></renaming>
<renaming old_name="WEAK_REFERENCE" new_name="SYSTEM_WEAK_REFERENCE"></renaming>
</assembly>
<assembly name="system_" location="$ISE_DOTNET_FRAMEWORK\System.dll" prefix="SYSTEM_DLL_"></assembly>
<assembly name="system_xml" location="$ISE_DOTNET_FRAMEWORK\System.Xml.dll" prefix="XML_"></assembly>
<cluster name="pp_elks" location="pp_elks" recursive="true">
<option namespace="Base">
</option>
<file_rule>
<exclude>/pp_structures/pp_cursors/pp_linked_cursor_tree_cursor.e$</exclude>
<exclude>/pp_structures/pp_cursor_tree/pp_linked_cursor_tree.e$</exclude>
<exclude>/pp_structures/pp_cursors/pp_two_way_cursor_tree_cursor.e$</exclude>
<exclude>/pp_structures/pp_cursors/pp_compact_tree_cursor.e$</exclude>
<exclude>/pp_structures/pp_cursor_tree/pp_compact_cursor_tree.e$</exclude>
<exclude>/pp_structures/pp_cursor_tree/pp_two_way_cursor_tree.e$</exclude>
</file_rule>
<file_rule>
<exclude>/pp_kernel/pp_console.e$</exclude>
<exclude>/pp_kernel/pp_directory.e$</exclude>
<exclude>/pp_kernel/pp_directory_name.e$</exclude>
<exclude>/pp_kernel/pp_disposable.e$</exclude>
<exclude>/pp_kernel/pp_exceptions.e$</exclude>
<exclude>/pp_kernel/pp_exceptions/pp_exception.e$</exclude>
<exclude>/pp_kernel/pp_exceptions/pp_operating_system_failure.e$</exclude>
<exclude>/pp_kernel/pp_exceptions/pp_operating_system_signal_failure.e$</exclude>
<exclude>/pp_kernel/pp_exceptions/pp_void_target.e$</exclude>
<exclude>/pp_kernel/pp_file.e$</exclude>
<exclude>/pp_kernel/pp_file_name.e$</exclude>
<exclude>/pp_kernel/pp_function.e$</exclude>
<exclude>/pp_kernel/pp_gc_info.e$</exclude>
<exclude>/pp_kernel/pp_ise_runtime.e$</exclude>
<exclude>/pp_kernel/pp_mem_info.e$</exclude>
<exclude>/pp_kernel/pp_memory.e$</exclude>
<exclude>/pp_kernel/pp_native_array.e$</exclude>
<exclude>/pp_kernel/pp_path_name.e$</exclude>
<exclude>/pp_kernel/pp_plain_text_file.e$</exclude>
<exclude>/pp_kernel/pp_pointer.e$</exclude>
<exclude>/pp_kernel/pp_pointer_ref.e$</exclude>
<exclude>/pp_kernel/pp_procedure.e$</exclude>
<exclude>/pp_kernel/pp_raw_file.e$</exclude>
<exclude>/pp_kernel/pp_real_32_ref.e$</exclude>
<exclude>/pp_kernel/pp_real_64_ref.e$</exclude>
<exclude>/pp_kernel/pp_routine.e$</exclude>
<exclude>/pp_kernel/pp_special.e$</exclude>
<exclude>/pp_kernel/pp_storable.e$</exclude>
<exclude>/pp_kernel/pp_stream.e$</exclude>
<exclude>/pp_kernel/pp_string/pp_system_string.e$</exclude>
<exclude>/pp_kernel/pp_string/pp_system_string_factory.e$</exclude>
<exclude>/pp_kernel/pp_type.e$</exclude>
<exclude>/pp_kernel/pp_tuple.e$</exclude>
<exclude>/pp_kernel/pp_file_info.e$</exclude>
<exclude>/pp_kernel/pp_unix_signals.e$</exclude>
<exclude>/pp_support/pp_class_name_translations.e$</exclude>
<exclude>/pp_support/pp_double_math.e$</exclude>
<exclude>/pp_support/pp_execution_environment.e$</exclude>
<exclude>/pp_support/pp_object_graph_marker.e$</exclude>
<exclude>/pp_support/pp_reflector.e$</exclude>
<exclude>/pp_support/pp_reflected_object.e$</exclude>
<exclude>/pp_support/pp_reflected_reference_object.e$</exclude>
<exclude>/pp_support/pp_reflected_copy_semantics_object.e$</exclude>
<exclude>/pp_support/pp_managed_pointer.e$</exclude>
<exclude>/pp_support/pp_mismatch_information.e$</exclude>
<exclude>/pp_support/pp_operating_environment.e$</exclude>
<exclude>/pp_support/pp_single_math.e$</exclude>
<condition>
<dotnet value="true"></dotnet>
</condition>
</file_rule>
</cluster>
<cluster name="pp_ise" location="pp_ise" recursive="true">
<option namespace="Base">
</option>
<file_rule>
<exclude>/pp_dotnet$</exclude>
<condition>
<dotnet value="false"></dotnet>
</condition>
</file_rule>
<file_rule>
<exclude>/pp_kernel/pp_exceptions/pp_ise_exception_manager.e$</exclude>
<exclude>/pp_kernel/pp_exceptions/pp_io_failure.e$</exclude>
<exclude>/pp_kernel/pp_execution_environment_32.e$</exclude>
<exclude>/pp_classic$</exclude>
<condition>
<dotnet value="true"></dotnet>
</condition>
</file_rule>
<file_rule>
<exclude>/pp_runtime$</exclude>
</file_rule>
<cluster name="pp_debug" location="pp_ise/pp_runtime/pp_debug/pp_api" recursive="true">
<file_rule>
<exclude>/pp_dotnet$</exclude>
<condition>
<dotnet value="false"></dotnet>
</condition>
</file_rule>
<file_rule>
<exclude>/pp_classic$</exclude>
<condition>
<dotnet value="true"></dotnet>
</condition>
</file_rule>
</cluster>
<cluster name="pp_debug_implementation" location="pp_ise/pp_runtime/pp_debug/pp_implementation" recursive="true" hidden="true">
<condition>
<build value="workbench"></build>
</condition>
<file_rule>
<exclude>/pp_dotnet$</exclude>
<condition>
<dotnet value="false"></dotnet>
</condition>
</file_rule>
<file_rule>
<exclude>/pp_classic$</exclude>
<condition>
<dotnet value="true"></dotnet>
</condition>
</file_rule>
</cluster>
<cluster name="pp_scoop" location="pp_ise/pp_runtime/pp_scoop" recursive="true" hidden="true">
<condition>
<concurrency value="scoop"></concurrency>
</condition>
<file_rule>
<exclude>/pp_dotnet$</exclude>
<condition>
<dotnet value="false"></dotnet>
</condition>
</file_rule>
<file_rule>
<exclude>/pp_classic$</exclude>
<condition>
<dotnet value="true"></dotnet>
</condition>
</file_rule>
</cluster>
</cluster>
</target>
<target name="base_dotnet" extends="base">
<setting name="msil_generation" value="true"></setting>
</target>
<target name="base_scoop" extends="base">
<setting name="concurrency" value="scoop"></setting>
</target>
</system>