[EMAIL PROTECTED] wrote:
Author: faridz
Date: Thu Sep 6 12:05:30 2007
New Revision: 573337
URL: http://svn.apache.org/viewvc?rev=573337&view=rev
Log:
2007-09-06 Farid Zaripov <[EMAIL PROTECTED]>
* projects.js: Added definitions of the platform dependent files.
* i86/atomic.asm: New file with definitions of the __rw_atomic_xxx()
functions for Win32 platform.
* i86_64/atomic.asm: New file with definitions of the
__rw_atomic_xxx() functions for Windows/x64 platform.
* _mutex.h: Use new __rw_atomic_xxx() functions if corresponding
InterlockedXXX() functions are not present.
[_MSC_VER >= 1400]: Use intrinsic InterlockedXXX() functions
on MSVC 8 and higher.
* once.cpp [_WIN32 && _DLL]: Tell linker to export __atomic_xxx()
functions, defined in .asm files.
Is there any particular reason why the export directives should
be in once.cpp? We have an export.cpp (currently used only by
the EDG eccp C++ export feature) which seems like it might be
a better choice. Alternatively, we could add a new file, say
atomic.cpp. I don't suppose we could put the pragmas in the
.asm files themselves?
[...]
--- incubator/stdcxx/trunk/etc/config/windows/projects.js (original)
+++ incubator/stdcxx/trunk/etc/config/windows/projects.js Thu Sep 6 12:05:30
2007
@@ -85,6 +85,10 @@
projectDefs.push(new Array(configureDef));
///////////////////////////////////////////////////////////////////////////////
+ // add platform dependent files
+ customFileDefs.push(new CustomFileDef("i86\\atomic.asm", "Win32",
InitAsmTool));
+ customFileDefs.push(new CustomFileDef("i86_64\\atomic.asm", "x64",
InitAsmTool));
Is there a way to get the Windows infrastructure to pick up these
files automatically just like it does .cpp files so that we avoid
this kind of coupling?
Martin