README_win32.txt 1.6 KB

12345678910111213141516171819202122232425262728293031
  1. Most of the atomic_ops functionality is available under Win32 with
  2. the Microsoft tools, but the build process currently is considerably more
  3. primitive than on Linux/Unix platforms.
  4. To build:
  5. 1) Go to the src directory in the distribution.
  6. 2) Make sure the Microsoft command-line tools (e.g. nmake) are available.
  7. 3) Run "nmake -f Makefile.msft". This should run some tests, which
  8. may print warnings about the types of the "Interlocked" functions.
  9. I haven't been able to make all versions of VC++ happy. If you know
  10. how to, please send a patch.
  11. 4) To compile applications, you will need to retain or copy the following
  12. pieces from the resulting src directory contents:
  13. "atomic_ops.h" - Header file defining low-level primitives. This
  14. includes files from:
  15. "atomic_ops"- Subdirectory containing implementation header files.
  16. "atomic_ops_stack.h" - Header file describing almost lock-free stack.
  17. "atomic_ops_malloc.h" - Header file describing almost lock-free malloc.
  18. "libatomic_ops_gpl.lib" - Library containing implementation of the
  19. above two (plus AO_pause() defined in atomic_ops.c).
  20. The atomic_ops.h implementation is entirely in the
  21. header files in Win32.
  22. Most clients of atomic_ops.h will need to define AO_ASSUME_WINDOWS98 before
  23. including it. Compare_and_swap is otherwise not available.
  24. Defining AO_ASSUME_VISTA will make compare_double_and_swap_double available
  25. as well.
  26. Note that the library is covered by the GNU General Public License, while
  27. the top 2 of these pieces allow use in proprietary code.