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