Digest-xxHash

 view release on metacpan or  search on metacpan

ext/xxHash/build/make/README.md  view on Meta::CPAN


---

## Benefits at a glance

| Benefit | What `multiconf.make` does |
| --- | --- |
| **Isolated configs** | Stores objects into `cachedObjs/<hash>/`, one directory per unique flag set. |
| **Fast switching** | Reusing an old config is instant—link only, no recompilation. |
| **Header deps** | Edits to headers trigger only needed rebuilds. |
| **One-liner targets** | Macros (`c_program`, `cxx_program`, …) hide all rule boilerplate. |
| **Parallel-ready** | Safe with `make -j`, no duplicate compiles of shared sources. |
| **Controlled verbosity** | Default only lists objects, while `V=1` display full commands. |
| **`clean` included** | `make clean` deletes all objects, binaries and links. |

---

## Quick Start

### 1 · List your sources

ext/xxHash/tests/collisions/pool.c  view on Meta::CPAN


#include "pool.h"


/* ======   Compiler specifics   ====== */
#if defined(_MSC_VER)
#  pragma warning(disable : 4204)        /* disable: C4204: non-constant aggregate initializer */
#endif


/* ===  Build Macro  === */

#ifndef POOL_MT   // can be defined on command line
#  define POOL_MT 1
#endif


/* ===  Implementation  === */

#if POOL_MT

ext/xxHash/tests/collisions/threading.c  view on Meta::CPAN

 *
 * You can contact the author at:
 * - zstdmt source repository: https://github.com/mcmilk/zstdmt
 */

/**
 * This file will hold wrapper for systems, which do not support pthreads
 */


 /* ===  Build Macro  === */

 #ifndef POOL_MT   // can be defined on command line
 #  define POOL_MT 1
 #endif


/* create fake symbol to avoid empty translation unit warning */
int g_ZSTD_threading_useles_symbol;

#if POOL_MT && defined(_WIN32)

ext/xxHash/tests/collisions/threading.h  view on Meta::CPAN

 * - zstdmt source repository: https://github.com/mcmilk/zstdmt
 */

#ifndef THREADING_H_938743
#define THREADING_H_938743

#if defined (__cplusplus)
extern "C" {
#endif

/* ===  Build Macro  === */

#ifndef POOL_MT   // can be defined on command line
#  define POOL_MT 1
#endif


/* ===  Implementation  === */

#if POOL_MT && defined(_WIN32)

ext/xxHash/xxhash.h  view on Meta::CPAN

    return one.c[0];
}
#   define XXH_CPU_LITTLE_ENDIAN   XXH_isLittleEndian()
#  endif
#endif




/* ****************************************
*  Compiler-specific Functions and Macros
******************************************/
#define XXH_GCC_VERSION (__GNUC__ * 100 + __GNUC_MINOR__)

#ifdef __has_builtin
#  define XXH_HAS_BUILTIN(x) __has_builtin(x)
#else
#  define XXH_HAS_BUILTIN(x) 0
#endif




( run in 1.246 second using v1.01-cache-2.11-cpan-5c0b1e786e0 )