7df6e18265341f87a69fba808aa1f92f8ebca841
markd
  Wed Apr 15 13:39:42 2026 -0700
move copy of htslib

diff --git src/htslib/cram/os.h src/htslib/cram/os.h
deleted file mode 100644
index 22d80964905..00000000000
--- src/htslib/cram/os.h
+++ /dev/null
@@ -1,308 +0,0 @@
-/*
-Copyright (c) 1993, 1995-2002 MEDICAL RESEARCH COUNCIL
-All rights reserved
-
-Redistribution and use in source and binary forms, with or without 
-modification, are permitted provided that the following conditions are met:
-
-   1 Redistributions of source code must retain the above copyright notice, 
-this list of conditions and the following disclaimer.
-
-   2 Redistributions in binary form must reproduce the above copyright notice, 
-this list of conditions and the following disclaimer in the documentation 
-and/or other materials provided with the distribution.
-
-   3 Neither the name of the MEDICAL RESEARCH COUNCIL, THE LABORATORY OF 
-MOLECULAR BIOLOGY nor the names of its contributors may be used to endorse or 
-promote products derived from this software without specific prior written 
-permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 
-ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 
-WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 
-DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR 
-ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 
-(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 
-LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON 
-ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 
-SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-*/
-
-/*
-Copyright (c) 2004, 2006, 2009-2011, 2013 Genome Research Ltd.
-Author: James Bonfield <jkb@sanger.ac.uk>
-
-Redistribution and use in source and binary forms, with or without 
-modification, are permitted provided that the following conditions are met:
-
-   1. Redistributions of source code must retain the above copyright notice, 
-this list of conditions and the following disclaimer.
-
-   2. Redistributions in binary form must reproduce the above copyright notice, 
-this list of conditions and the following disclaimer in the documentation 
-and/or other materials provided with the distribution.
-
-   3. Neither the names Genome Research Ltd and Wellcome Trust Sanger
-Institute nor the names of its contributors may be used to endorse or promote
-products derived from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY GENOME RESEARCH LTD AND CONTRIBUTORS "AS IS" AND 
-ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 
-WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 
-DISCLAIMED. IN NO EVENT SHALL GENOME RESEARCH LTD OR CONTRIBUTORS BE LIABLE
-FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-*/
-
-/*
- * File: os.h
- *
- * Author: 
- *         MRC Laboratory of Molecular Biology
- *	   Hills Road
- *	   Cambridge CB2 2QH
- *	   United Kingdom
- *
- * Description: operating system specific type definitions
- *
- */
-
-#ifndef _OS_H_
-#define _OS_H_
-
-#include <limits.h>
-#include <inttypes.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/*-----------------------------------------------------------------------------
- * Detection of endianness. The main part of this is done in autoconf, but
- * for the case of MacOS FAT binaries we fall back on auto-sensing based on
- * processor type too.
- */
-
-/* Set by autoconf */
-#define SP_LITTLE_ENDIAN
-
-/* Mac FAT binaries or unknown. Auto detect based on CPU type */
-#if !defined(SP_BIG_ENDIAN) && !defined(SP_LITTLE_ENDIAN)
-
-/*
- * x86 equivalents
- */
-#if defined(__i386__) || defined(__i386) || defined(__amd64__) || defined(__amd64) || defined(__x86_64__) || defined(__x86_64) || defined(__i686__) || defined(__i686)
-#  if defined(SP_BIG_ENDIAN)
-#    undef SP_BIG_ENDIAN
-#  endif
-#  define SP_LITTLE_ENDIAN
-#endif
-
-/*
- * DEC Alpha
- */
-#if defined(__alpha__) || defined(__alpha)
-#  if defined(SP_LITTLE_ENDIAN)
-#    undef SP_LITTLE_ENDIAN
-#  endif
-#  define SP_BIG_ENDIAN
-#endif
-
-/*
- * SUN Sparc
- */
-#if defined(__sparc__) || defined(__sparc)
-#  if defined(SP_LITTLE_ENDIAN)
-#    undef SP_LITTLE_ENDIAN
-#  endif
-#  define SP_BIG_ENDIAN
-#endif
-
-/*
- * PowerPC
- */
-#if defined(__ppc__) || defined(__ppc)
-#  if defined(SP_LITTLE_ENDIAN)
-#    undef SP_LITTLE_ENDIAN
-#  endif
-#  define SP_BIG_ENDIAN
-#endif
-
-/* Some catch-alls */
-#if defined(__LITTLE_ENDIAN__) || defined(__LITTLEENDIAN__)
-#    define SP_LITTLE_ENDIAN
-#endif
-
-#if defined(__BIG_ENDIAN__) || defined(__BIGENDIAN__)
-#    define SP_BIG_ENDIAN
-#endif
-
-#if defined(SP_BIG_ENDIAN) && defined(SP_LITTLE_ENDIAN)
-#    error Both BIG and LITTLE endian defined. Fix os.h and/or Makefile
-#endif
-
-#if !defined(SP_BIG_ENDIAN) && !defined(SP_LITTLE_ENDIAN)
-#    error Neither BIG nor LITTLE endian defined. Fix os.h and/or Makefile
-#endif
-
-#endif
-
-/*-----------------------------------------------------------------------------
- * Allow for unaligned memory access. This is used in BAM code as the packed
- * structure has 4-byte cigar ints after the variable length name.
- *
- * Consider using AX_CHECK_ALIGNED_ACCESS_REQUIRED in autoconf.
- */
-#if defined(__i386__) || defined(__i386) || defined(__amd64__) || defined(__amd64) || defined(__x86_64__) || defined(__x86_64) || defined(__i686__) || defined(__i686)
-#  define ALLOW_UAC
-#endif
-
-/*-----------------------------------------------------------------------------
- * Byte swapping macros
- */
-
-/*
- * Our new swap runs at the same speed on Ultrix, but substantially faster
- * (300% for swap_int4, ~50% for swap_int2) on an Alpha (due to the lack of
- * decent 'char' support).
- *
- * They also have the ability to swap in situ (src == dst). Newer code now
- * relies on this so don't change back!
- */
-#define iswap_int8(x) \
-    (((x & 0x00000000000000ffLL) << 56) + \
-     ((x & 0x000000000000ff00LL) << 40) + \
-     ((x & 0x0000000000ff0000LL) << 24) + \
-     ((x & 0x00000000ff000000LL) <<  8) + \
-     ((x & 0x000000ff00000000LL) >>  8) + \
-     ((x & 0x0000ff0000000000LL) >> 24) + \
-     ((x & 0x00ff000000000000LL) >> 40) + \
-     ((x & 0xff00000000000000LL) >> 56))
-
-#define iswap_int4(x) \
-    (((x & 0x000000ff) << 24) + \
-     ((x & 0x0000ff00) <<  8) + \
-     ((x & 0x00ff0000) >>  8) + \
-     ((x & 0xff000000) >> 24))
-
-#define iswap_int2(x) \
-    (((x & 0x00ff) << 8) + \
-     ((x & 0xff00) >> 8))
-
-/*
- * Linux systems may use byteswap.h to get assembly versions of byte-swap
- * on intel systems. This can be as trivial as the bswap opcode, which works
- * out at over 2-times faster than iswap_int4 above.
- */
-#if 0
-#if defined(__linux__)
-#    include <byteswap.h>
-#    undef iswap_int8
-#    undef iswap_int4
-#    undef iswap_int2
-#    define iswap_int8 bswap_64
-#    define iswap_int4 bswap_32
-#    define iswap_int2 bswap_16
-#endif
-#endif
-
-
-/*
- * Macros to specify that data read in is of a particular endianness.
- * The macros here swap to the appropriate order for the particular machine
- * running the macro and return the new answer. These may also be used when
- * writing to a file to specify that we wish to write in (eg) big endian
- * format.
- *
- * This leads to efficient code as most of the time these macros are
- * trivial.
- */
-#ifdef SP_BIG_ENDIAN
-#define le_int4(x) iswap_int4((x))
-#define le_int2(x) iswap_int2((x))
-#endif
-
-#ifdef SP_LITTLE_ENDIAN
-#define le_int4(x) (x)
-#define le_int2(x) (x)
-#endif
-
-/*-----------------------------------------------------------------------------
- * <inttypes.h> definitions, incase they're not present
- */
-
-#ifndef PRId64
-#define __PRI64__ "l"
-#define PRId64 __PRI64__ "d"
-#define PRId32 "d"
-#define PRId16 "d"
-#define PRId8  "d"
-#define PRIu64 __PRI64__ "u"
-#define PRIu32 "u"
-#define PRIu16 "u"
-#define PRIu8  "u"
-#endif
-
-/*-----------------------------------------------------------------------------
- * Operating system specifics.
- * These ought to be done by autoconf, but are legacy code.
- */
-/*
- * SunOS 4.x
- * Even though we use the ANSI gcc, we make use the the standard SunOS 4.x
- * libraries and include files, which are non-ansi
- */
-#if defined(__sun__) && !defined(__svr4__)
-#define SEEK_SET 0
-#define SEEK_CUR 1
-#define SEEK_END 2
-#endif
-
-/*
- * Microsoft Visual C++
- * Windows
- */
-#if defined(_MSC_VER)
-#define popen _popen
-#define pclose _pclose
-#define ftruncate(fd,len) _chsize(fd,len)
-#endif
-
-
-/*
- * Microsoft Windows running MinGW
- */
-#if defined(__MINGW32__)
-/* #define mkdir(filename,mode) mkdir((filename)) */
-#define sysconf(x) 512
-#define ftruncate(fd,len) _chsize(fd,len)
-#endif
-
-/* Generic WIN32 API issues */
-#ifdef _WIN32
-#  ifndef HAVE_FSEEKO
-#    if __MSVCRT_VERSION__ >= 0x800
-       /* if you have MSVCR80 installed then you can use these definitions: */
-#      define off_t __int64
-#      define fseeko _fseeki64
-#      define ftello _ftelli64
-#    else
-       /* otherwise we're stuck with 32-bit file support */
-#      define off_t long
-#      define fseeko fseek
-#      define ftello ftell
-#    endif
-#  endif /* !HAVE_FSEEKO */
-#endif /* _WIN32 */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /*_OS_H_*/