libatomic_ops/7.8.2

The atomic_ops project (Atomic memory update operations portable implementation)
Recipe info
GPL-2.0-or-later
2023-12-21

Available packages
Linux
Windows
macOS
macOS Apple Silicon

Install
Add the following line to your conanfile.txt:
[requires]
libatomic_ops/7.8.2

Using libatomic_ops

Note

If you are new with Conan, we recommend to read the section how to consume packages.

If you need additional assistance, please ask a question in the Conan Center Index repository.

Simplest use case consuming this recipe and assuming CMake as your local build tool:

[requires]
libatomic_ops/7.8.2
[generators]
CMakeDeps
CMakeToolchain
[layout]
cmake_layout
from conan import ConanFile
from conan.tools.cmake import cmake_layout


class ExampleRecipe(ConanFile):
    settings = "os", "compiler", "build_type", "arch"
    generators = "CMakeDeps", "CMakeToolchain"

    def requirements(self):
        self.requires("libatomic_ops/7.8.2")

    def layout(self):
        cmake_layout(self)

Now, you can run this Conan command to locally install (and build if necessary) this recipe and its dependencies (if any):

$ conan install conanfile.txt --build=missing

Useful information to take into account to consume this library:


These are the main declared targets:

  • CMake package name(s): Atomic_ops
  • CMake target name(s): Atomic_ops::atomic_ops_gpl
  • atomic_ops => Atomic_ops::atomic_ops
    atomic_ops_gpl => Atomic_ops::atomic_ops_gpl
    
  • pkg-config file name(s): libatomic_ops.pc
  • atomic_ops => atomic_ops.pc
    atomic_ops_gpl => libatomic_ops-atomic_ops_gpl.pc
    

A simple use case using the CMake file name and the global target:

# ...
find_package(Atomic_ops REQUIRED)
# ...
target_link_libraries(YOUR_TARGET Atomic_ops::atomic_ops_gpl)

These are all the available headers. Some of these ones might be non-public; make sure of it by visiting the libatomic_ops homepage listed above:

#include "atomic_ops.h"
#include "atomic_ops/ao_version.h"
#include "atomic_ops/generalize-arithm.h"
#include "atomic_ops/generalize-small.h"
#include "atomic_ops/generalize.h"
#include "atomic_ops/sysdeps/all_acquire_release_volatile.h"
#include "atomic_ops/sysdeps/all_aligned_atomic_load_store.h"
#include "atomic_ops/sysdeps/all_atomic_load_store.h"
#include "atomic_ops/sysdeps/all_atomic_only_load.h"
#include "atomic_ops/sysdeps/ao_t_is_int.h"
#include "atomic_ops/sysdeps/armcc/arm_v6.h"
#include "atomic_ops/sysdeps/emul_cas.h"
#include "atomic_ops/sysdeps/gcc/aarch64.h"
#include "atomic_ops/sysdeps/gcc/alpha.h"
#include "atomic_ops/sysdeps/gcc/arm.h"
#include "atomic_ops/sysdeps/gcc/avr32.h"
#include "atomic_ops/sysdeps/gcc/cris.h"
#include "atomic_ops/sysdeps/gcc/e2k.h"
#include "atomic_ops/sysdeps/gcc/generic-arithm.h"
#include "atomic_ops/sysdeps/gcc/generic-small.h"
#include "atomic_ops/sysdeps/gcc/generic.h"
#include "atomic_ops/sysdeps/gcc/hexagon.h"
#include "atomic_ops/sysdeps/gcc/hppa.h"
#include "atomic_ops/sysdeps/gcc/ia64.h"
#include "atomic_ops/sysdeps/gcc/m68k.h"
#include "atomic_ops/sysdeps/gcc/mips.h"
#include "atomic_ops/sysdeps/gcc/powerpc.h"
#include "atomic_ops/sysdeps/gcc/riscv.h"
#include "atomic_ops/sysdeps/gcc/s390.h"
#include "atomic_ops/sysdeps/gcc/sh.h"
#include "atomic_ops/sysdeps/gcc/sparc.h"
#include "atomic_ops/sysdeps/gcc/tile.h"
#include "atomic_ops/sysdeps/gcc/x86.h"
#include "atomic_ops/sysdeps/generic_pthread.h"
#include "atomic_ops/sysdeps/hpc/hppa.h"
#include "atomic_ops/sysdeps/hpc/ia64.h"
#include "atomic_ops/sysdeps/ibmc/powerpc.h"
#include "atomic_ops/sysdeps/icc/ia64.h"
#include "atomic_ops/sysdeps/loadstore/acquire_release_volatile.h"
#include "atomic_ops/sysdeps/loadstore/atomic_load.h"
#include "atomic_ops/sysdeps/loadstore/atomic_store.h"
#include "atomic_ops/sysdeps/loadstore/char_acquire_release_volatile.h"
#include "atomic_ops/sysdeps/loadstore/char_atomic_load.h"
#include "atomic_ops/sysdeps/loadstore/char_atomic_store.h"
#include "atomic_ops/sysdeps/loadstore/double_atomic_load_store.h"
#include "atomic_ops/sysdeps/loadstore/int_acquire_release_volatile.h"
#include "atomic_ops/sysdeps/loadstore/int_atomic_load.h"
#include "atomic_ops/sysdeps/loadstore/int_atomic_store.h"
#include "atomic_ops/sysdeps/loadstore/ordered_loads_only.h"
#include "atomic_ops/sysdeps/loadstore/ordered_stores_only.h"
#include "atomic_ops/sysdeps/loadstore/short_acquire_release_volatile.h"
#include "atomic_ops/sysdeps/loadstore/short_atomic_load.h"
#include "atomic_ops/sysdeps/loadstore/short_atomic_store.h"
#include "atomic_ops/sysdeps/msftc/arm.h"
#include "atomic_ops/sysdeps/msftc/arm64.h"
#include "atomic_ops/sysdeps/msftc/common32_defs.h"
#include "atomic_ops/sysdeps/msftc/x86.h"
#include "atomic_ops/sysdeps/msftc/x86_64.h"
#include "atomic_ops/sysdeps/ordered.h"
#include "atomic_ops/sysdeps/ordered_except_wr.h"
#include "atomic_ops/sysdeps/read_ordered.h"
#include "atomic_ops/sysdeps/standard_ao_double_t.h"
#include "atomic_ops/sysdeps/sunc/sparc.h"
#include "atomic_ops/sysdeps/sunc/x86.h"
#include "atomic_ops/sysdeps/test_and_set_t_is_ao_t.h"
#include "atomic_ops/sysdeps/test_and_set_t_is_char.h"
#include "atomic_ops_malloc.h"
#include "atomic_ops_stack.h"