From 5329dbb6df3eee6a46d875b9d50e7f1a869f6b25 Mon Sep 17 00:00:00 2001 From: Heng Li Date: Thu, 7 Jul 2011 04:37:01 +0000 Subject: [PATCH] for WIN32 compatibility --- Makefile.mingw | 17 +++++++++-------- bcftools/bcfutils.c | 5 +++++ bcftools/call1.c | 5 +++++ bedidx.c | 4 ++++ ksort.h | 4 ++++ 5 files changed, 27 insertions(+), 8 deletions(-) diff --git a/Makefile.mingw b/Makefile.mingw index a3f4b9f..7a57ffc 100644 --- a/Makefile.mingw +++ b/Makefile.mingw @@ -4,14 +4,15 @@ CFLAGS= -g -Wall -O2 DFLAGS= -D_USE_KNETFILE -D_CURSES_LIB=2 KNETFILE_O= knetfile.o LOBJS= bgzf.o kstring.o bam_aux.o bam.o bam_import.o sam.o bam_index.o \ - bam_pileup.o bam_lpileup.o bam_md.o glf.o razf.o faidx.o \ - $(KNETFILE_O) bam_sort.o sam_header.o bam_reheader.o kprobaln.o -AOBJS= bam_tview.o bam_plcmd.o sam_view.o \ + bam_pileup.o bam_lpileup.o bam_md.o razf.o faidx.o \ + $(KNETFILE_O) bam_sort.o sam_header.o bam_reheader.o kprobaln.o bedidx.o +AOBJS= bam_tview.o bam_plcmd.o sam_view.o \ bam_rmdup.o bam_rmdupse.o bam_mate.o bam_stat.o bam_color.o \ - bamtk.o kaln.o bam2bcf.o bam2bcf_indel.o errmod.o sample.o + bamtk.o kaln.o bam2bcf.o bam2bcf_indel.o errmod.o sample.o \ + cut_target.o phase.o bam_cat.o bam2depth.o BCFOBJS= bcftools/bcf.o bcftools/fet.o bcftools/bcf2qcall.o bcftools/bcfutils.o \ - bcftools/call1.o bcftools/index.o bcftools/kfunc.o bcftools/ld.o \ - bcftools/prob1.o bcftools/vcf.o + bcftools/call1.o bcftools/index.o bcftools/kfunc.o bcftools/em.o \ + bcftools/kmin.o bcftools/prob1.o bcftools/vcf.o bcftools/mut.o PROG= samtools.exe bcftools.exe INCLUDES= -I. -Iwin32 SUBDIRS= . @@ -35,8 +36,8 @@ libbam.a:$(LOBJS) samtools.exe:$(AOBJS) libbam.a $(BCFOBJS) $(CC) $(CFLAGS) -o $@ $(AOBJS) $(BCFOBJS) $(LIBPATH) -lm -L. -lbam -Lwin32 -lz -lcurses -lws2_32 -bcftools.exe:$(BCFOBJS) bcftools/main.o kstring.o bgzf.o knetfile.o - $(CC) $(CFLAGS) -o $@ $(BCFOBJS) bcftools/main.o kstring.o bgzf.o knetfile.o -lm -Lwin32 -lz -lws2_32 +bcftools.exe:$(BCFOBJS) bcftools/main.o kstring.o bgzf.o knetfile.o bedidx.o + $(CC) $(CFLAGS) -o $@ $(BCFOBJS) bcftools/main.o kstring.o bgzf.o knetfile.o bedidx.o -lm -Lwin32 -lz -lws2_32 razip.o:razf.h bam.o:bam.h razf.h bam_endian.h kstring.h sam_header.h diff --git a/bcftools/bcfutils.c b/bcftools/bcfutils.c index e11cfce..9608846 100644 --- a/bcftools/bcfutils.c +++ b/bcftools/bcfutils.c @@ -5,6 +5,11 @@ #include "khash.h" KHASH_MAP_INIT_STR(str2id, int) +#ifdef _WIN32 +#define srand48(x) srand(x) +#define drand48() ((double)rand() / RAND_MAX) +#endif + // FIXME: valgrind report a memory leak in this function. Probably it does not get deallocated... void *bcf_build_refhash(bcf_hdr_t *h) { diff --git a/bcftools/call1.c b/bcftools/call1.c index b2d7d4a..69bd5f7 100644 --- a/bcftools/call1.c +++ b/bcftools/call1.c @@ -8,6 +8,11 @@ #include "kstring.h" #include "time.h" +#ifdef _WIN32 +#define srand48(x) srand(x) +#define lrand48() rand() +#endif + #include "kseq.h" KSTREAM_INIT(gzFile, gzread, 16384) diff --git a/bedidx.c b/bedidx.c index 34f0f2f..ec75a10 100644 --- a/bedidx.c +++ b/bedidx.c @@ -4,6 +4,10 @@ #include #include +#ifdef _WIN32 +#define drand48() ((double)rand() / RAND_MAX) +#endif + #include "ksort.h" KSORT_INIT_GENERIC(uint64_t) diff --git a/ksort.h b/ksort.h index fa850ab..b8b62f1 100644 --- a/ksort.h +++ b/ksort.h @@ -60,6 +60,10 @@ #include #include +#ifdef _WIN32 +#define drand48() ((double)rand() / RAND_MAX) +#endif + typedef struct { void *left, *right; int depth; -- 2.39.2