source: branches/0.10-stable/yat/omic/config_bam.h @ 2928

Last change on this file since 2928 was 2928, checked in by Peter, 9 years ago

Support different styles of including bam header files: <bam.h>,
<bam/bam.h>, and <samtools/bam.h>. Style is identified at configure
time and stored in generated 'config_public.h' by defining either
HAVE_BAM_H, HAVE_BAM_BAM_H or HAVE_SAMTOOLS_BAM_H. For convenience,
macros YAT_[B|S]AM_HEADER are defined in 'config_bam.h' that can be
used as '#include YAT_[B|S]AB_HEADER' rather than '#include
<[b|s]am.h'.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Id
File size: 1.8 KB
Line 
1#ifndef theplu_yat_omic_config_bam
2#define theplu_yat_omic_config_bam
3
4// $Id: config_bam.h 2928 2012-12-25 23:20:10Z peter $
5//
6// Copyright (C) 2012 Peter Johansson
7//
8// This program is free software; you can redistribute it and/or modify
9// it under the terms of the GNU General Public License as published by
10// the Free Software Foundation; either version 3 of the License, or
11// (at your option) any later version.
12//
13// This program is distributed in the hope that it will be useful, but
14// WITHOUT ANY WARRANTY; without even the implied warranty of
15// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
16// General Public License for more details.
17//
18// You should have received a copy of the GNU General Public License
19// along with this program. If not, see <http://www.gnu.org/licenses/>.
20
21/*
22   The purpose of this file is to cater for different installation
23   styles. As samtools' Makefile contains no install rule, different
24   distributions have come up with different ideas where to put
25   samtools' header files. Red Hat put them in '/usr/innclude/bam'
26   whereas Ubuntu put them in '/usr/include/samtools/'. We could solve
27   this by #including <bam.h> and then add appropriate include path
28   (-I) flags to the compiler, but in order to support arbitrary
29   PREFIX we instead choose to #define macros BAM_HEADER and
30   SAM_HEADER depending on we found the bam headers (at configure
31   time) as <bam.h>, <bam/bam.h>, or <samtools/bam.h>.
32 */
33
34#include "yat/utility/config_public.h"
35
36#ifdef HAVE_BAM_H
37# define YAT_BAM_HEADER "bam.h"
38# define YAT_SAM_HEADER "sam.h"
39#else
40# ifdef HAVE_BAM_BAM_H
41#  define YAT_BAM_HEADER "bam/bam.h"
42#  define YAT_SAM_HEADER "bam/sam.h"
43# else
44#  ifdef HAVE_SAMTOOLS_BAM_H
45#   define YAT_BAM_HEADER "samtools/bam.h"
46#   define YAT_SAM_HEADER "samtools/sam.h"
47#  endif
48# endif
49#endif
50
51#endif
Note: See TracBrowser for help on using the repository browser.