# Copyright (c) Index Data 2006-2007
# See the file LICENSE for details.
#
-# $Id: oidtoc.tcl,v 1.2 2007-04-18 08:08:02 adam Exp $
+# $Id: oidtoc.tcl,v 1.3 2007-04-24 12:55:15 adam Exp $
#
# Converts a CSV file with Object identifiers to C
set preamble " \\brief Standard Object Identifiers: Generated from $input */"
puts $cfile $preamble
puts $hfile $preamble
+ puts $hfile "\#ifndef OID_STD_H"
+ puts $hfile "\#define OID_STD_H"
-
+ # Define this. So that we don't get duplicate declartions with MSVC
+ puts $cfile "\#define OID_STD_H"
puts $cfile "\#include <yaz/oid_db.h>"
puts $cfile ""
+ # To avoid LNK4049
+ puts $hfile "\#ifdef YAZ_DLL"
+ puts $hfile "\#define OID_EXPORT YAZ_EXPORT"
+ puts $hfile "\#else"
+ puts $hfile "\#define OID_EXPORT YAZ_IMPORT"
+ puts $hfile "\#endif"
+
+ puts $hfile "YAZ_BEGIN_CDECL"
foreach oid $oids {
set lname [string tolower [lindex $oid 2]]
set lname [string map {- _ . _ { } _ ( {} ) {}} $lname]
set prefix [string tolower [lindex $oid 0]]
- puts -nonewline $cfile "const int yaz_oid_${prefix}_${lname}\[\] = \{"
+ puts -nonewline $cfile "YAZ_EXPORT const int yaz_oid_${prefix}_${lname}\[\] = \{"
puts -nonewline $cfile [string map {. ,} [lindex $oid 1]]
puts $cfile ",-1\};"
- puts $hfile "extern const int yaz_oid_${prefix}_${lname}\[\];"
+ puts $hfile "OID_EXPORT extern const int yaz_oid_${prefix}_${lname}\[\];"
}
- puts $cfile "struct yaz_oid_entry yaz_oid_standard_entries\[\] ="
+ puts $cfile "YAZ_EXPORT struct yaz_oid_entry yaz_oid_standard_entries\[\] ="
puts $cfile "\{"
foreach oid $oids {
set lname [string tolower [lindex $oid 2]]
puts $cfile "\t\{CLASS_NOP, 0, 0\}"
puts $cfile "\};"
- puts $hfile "extern struct yaz_oid_entry yaz_oid_standard_entries\[\];"
+ puts $hfile "OID_EXPORT extern struct yaz_oid_entry yaz_oid_standard_entries\[\];"
+ puts $hfile "YAZ_END_CDECL"
+ puts $hfile "\#endif"
close $cfile
close $hfile
}
# Copyright (C) 1995-2007, Index Data ApS
# All rights reserved.
-# $Id: makefile,v 1.130 2007-03-21 19:47:28 adam Exp $
+# $Id: makefile,v 1.131 2007-04-24 12:55:15 adam Exp $
#
# Programmed by
# Heikki Levanto & Adam Dickmeiss
MISC_OBJS= \
$(OBJDIR)\version.obj \
+ $(OBJDIR)\oid_std.obj \
$(OBJDIR)\eventl.obj \
$(OBJDIR)\requestq.obj \
$(OBJDIR)\service.obj \
$(OBJDIR)\marc_read_line.obj \
$(OBJDIR)\nmem.obj \
$(OBJDIR)\nmemsdup.obj \
- $(OBJDIR)\oid.obj \
+ $(OBJDIR)\oid_db.obj \
+ $(OBJDIR)\oid_util.obj \
$(OBJDIR)\options.obj \
$(OBJDIR)\readconf.obj \
$(OBJDIR)\tpath.obj \
$(OBJDIR)\yaz-ccl.obj \
$(OBJDIR)\otherinfo.obj \
$(OBJDIR)\sortspec.obj \
- $(OBJDIR)\z3950oid.obj \
$(OBJDIR)\charneg.obj \
$(OBJDIR)\grs1disp.obj \
$(OBJDIR)\opacdisp.obj \
# Various YAZ source directories
{$(SRCDIR)}.c{$(OBJDIR)}.obj:
- $(CPP) $(COPT) $<
+ $(CPP) $(COPT) /D"YAZ_DLL" $<
{$(ZOOMDIR)}.c{$(OBJDIR)}.obj:
$(CPP) $(COPT) $<
@cd $(SRCDIR)
$(TCL) charconv.tcl -r -p marc8r codetables.xml -o marc8r.c
+$(SRCDIR)\oid_std.c: $(SRCDIR)\oid.csv $(SRCDIR)\charconv.tcl
+ @cd $(SRCDIR)
+ $(TCL) oidtoc.tcl $(SRCDIR) oid.csv oid_std.c oid_std.h
+
$(SRCDIR)\diagbib1.c: $(SRCDIR)\bib1.csv
@cd $(SRCDIR)
$(TCL) csvtobib1.tcl $(SRCDIR)