145227c10e416894ba7f84fdf72d849cecdb9b898Behdad Esfahbod/*
245227c10e416894ba7f84fdf72d849cecdb9b898Behdad Esfahbod * Copyright © 2012  Google, Inc.
345227c10e416894ba7f84fdf72d849cecdb9b898Behdad Esfahbod *
445227c10e416894ba7f84fdf72d849cecdb9b898Behdad Esfahbod *  This is part of HarfBuzz, a text shaping library.
545227c10e416894ba7f84fdf72d849cecdb9b898Behdad Esfahbod *
645227c10e416894ba7f84fdf72d849cecdb9b898Behdad Esfahbod * Permission is hereby granted, without written agreement and without
745227c10e416894ba7f84fdf72d849cecdb9b898Behdad Esfahbod * license or royalty fees, to use, copy, modify, and distribute this
845227c10e416894ba7f84fdf72d849cecdb9b898Behdad Esfahbod * software and its documentation for any purpose, provided that the
945227c10e416894ba7f84fdf72d849cecdb9b898Behdad Esfahbod * above copyright notice and the following two paragraphs appear in
1045227c10e416894ba7f84fdf72d849cecdb9b898Behdad Esfahbod * all copies of this software.
1145227c10e416894ba7f84fdf72d849cecdb9b898Behdad Esfahbod *
1245227c10e416894ba7f84fdf72d849cecdb9b898Behdad Esfahbod * IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR
1345227c10e416894ba7f84fdf72d849cecdb9b898Behdad Esfahbod * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES
1445227c10e416894ba7f84fdf72d849cecdb9b898Behdad Esfahbod * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN
1545227c10e416894ba7f84fdf72d849cecdb9b898Behdad Esfahbod * IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
1645227c10e416894ba7f84fdf72d849cecdb9b898Behdad Esfahbod * DAMAGE.
1745227c10e416894ba7f84fdf72d849cecdb9b898Behdad Esfahbod *
1845227c10e416894ba7f84fdf72d849cecdb9b898Behdad Esfahbod * THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING,
1945227c10e416894ba7f84fdf72d849cecdb9b898Behdad Esfahbod * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
2045227c10e416894ba7f84fdf72d849cecdb9b898Behdad Esfahbod * FITNESS FOR A PARTICULAR PURPOSE.  THE SOFTWARE PROVIDED HEREUNDER IS
2145227c10e416894ba7f84fdf72d849cecdb9b898Behdad Esfahbod * ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO
2245227c10e416894ba7f84fdf72d849cecdb9b898Behdad Esfahbod * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
2345227c10e416894ba7f84fdf72d849cecdb9b898Behdad Esfahbod *
2445227c10e416894ba7f84fdf72d849cecdb9b898Behdad Esfahbod * Google Author(s): Behdad Esfahbod
2545227c10e416894ba7f84fdf72d849cecdb9b898Behdad Esfahbod */
2645227c10e416894ba7f84fdf72d849cecdb9b898Behdad Esfahbod
27ec3ba4b96fc4f262db1ff9f906628c32f26c9b7dBehdad Esfahbod#include "hb-atomic-private.hh"
2845227c10e416894ba7f84fdf72d849cecdb9b898Behdad Esfahbod#include "hb-mutex-private.hh"
2945227c10e416894ba7f84fdf72d849cecdb9b898Behdad Esfahbod
3045227c10e416894ba7f84fdf72d849cecdb9b898Behdad Esfahbod
31cdafe3a7d8483ac586e2c16487e2a09164e0f65cBehdad Esfahbod#if defined(HB_ATOMIC_INT_NIL)
3208b29c08094097f1c23ec53b10084bc390cea833Behdad Esfahbod#ifdef _MSC_VER
3308b29c08094097f1c23ec53b10084bc390cea833Behdad Esfahbod#pragma message("Could not find any system to define atomic_int macros, library may NOT be thread-safe")
3408b29c08094097f1c23ec53b10084bc390cea833Behdad Esfahbod#else
3508b29c08094097f1c23ec53b10084bc390cea833Behdad Esfahbod#warning "Could not find any system to define atomic_int macros, library may NOT be thread-safe"
3645227c10e416894ba7f84fdf72d849cecdb9b898Behdad Esfahbod#endif
3708b29c08094097f1c23ec53b10084bc390cea833Behdad Esfahbod#endif
3808b29c08094097f1c23ec53b10084bc390cea833Behdad Esfahbod
39cdafe3a7d8483ac586e2c16487e2a09164e0f65cBehdad Esfahbod#if defined(HB_MUTEX_IMPL_NIL)
4008b29c08094097f1c23ec53b10084bc390cea833Behdad Esfahbod#ifdef _MSC_VER
4108b29c08094097f1c23ec53b10084bc390cea833Behdad Esfahbod#pragma message("Could not find any system to define mutex macros, library may NOT be thread-safe")
4208b29c08094097f1c23ec53b10084bc390cea833Behdad Esfahbod#else
4308b29c08094097f1c23ec53b10084bc390cea833Behdad Esfahbod#warning "Could not find any system to define mutex macros, library may NOT be thread-safe"
4408b29c08094097f1c23ec53b10084bc390cea833Behdad Esfahbod#endif
4545227c10e416894ba7f84fdf72d849cecdb9b898Behdad Esfahbod#endif
4608b29c08094097f1c23ec53b10084bc390cea833Behdad Esfahbod
47cdafe3a7d8483ac586e2c16487e2a09164e0f65cBehdad Esfahbod#if defined(HB_ATOMIC_INT_NIL) || defined(HB_MUTEX_IMPL_NIL)
4808b29c08094097f1c23ec53b10084bc390cea833Behdad Esfahbod#ifdef _MSC_VER
4908b29c08094097f1c23ec53b10084bc390cea833Behdad Esfahbod#pragma message("To suppress these warnings, define HB_NO_MT")
5008b29c08094097f1c23ec53b10084bc390cea833Behdad Esfahbod#else
5108b29c08094097f1c23ec53b10084bc390cea833Behdad Esfahbod#warning "To suppress these warnings, define HB_NO_MT"
5208b29c08094097f1c23ec53b10084bc390cea833Behdad Esfahbod#endif
5308b29c08094097f1c23ec53b10084bc390cea833Behdad Esfahbod#endif
5408b29c08094097f1c23ec53b10084bc390cea833Behdad Esfahbod
5508b29c08094097f1c23ec53b10084bc390cea833Behdad Esfahbod
56