Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 21 Jun 2009 21:05:19 GMT
From:      Gabor Kovesdan <gabor@FreeBSD.org>
To:        Perforce Change Reviews <perforce@freebsd.org>
Subject:   PERFORCE change 164831 for review
Message-ID:  <200906212105.n5LL5Jh6078757@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=164831

Change 164831 by gabor@gabor_server on 2009/06/21 21:04:42

	MFHg:
		- Clean up esdb and csmapper Makefile structures.  Tied to
		  generalize the building and made a mini-framework for
		  these pieces of metadata.  It seems like a misc item
		  but actually conversion tables are very important and
		  thus we need an easy way to add/modify conversion tables.
		- Fixed some issues showing up in the GNU regression tests
		  by adding -INTERNAL and -SWAPPED encoding forms for
		  UTF/UCS family.  The former always means using the
		  machine byte order, while the latter one is the swapped
		  byte order.  GNU regression tests use UCS-4-INTERNAL
		  and by implementing it in a compatible way, lot of
		  regressions went away in other encodings, as well.
		- Finally really fix BOM handling
		- Nits in the test suite

Affected files ...

.. //depot/projects/soc2009/gabor_iconv/extracted/TESTING-HOWTO#1 add
.. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/Makefile#2 edit
.. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/check-stateful#2 edit
.. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/check-stateless#2 edit
.. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/table-from.c#2 edit
.. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/table-to.c#2 edit
.. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/test-shiftseq.c#2 edit
.. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/UTF1632/citrus_utf1632.c#2 edit
.. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/APPLE/Makefile#1 add
.. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/APPLE/Makefile.inc#2 delete
.. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/AST/Makefile#1 add
.. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/AST/Makefile.inc#2 delete
.. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/BIG5/Makefile#1 add
.. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/BIG5/Makefile.inc#2 delete
.. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/CNS/Makefile#1 add
.. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/CNS/Makefile.inc#2 delete
.. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/CP/Makefile#1 add
.. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/CP/Makefile.inc#2 delete
.. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/EBCDIC/Makefile#1 add
.. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/EBCDIC/Makefile.inc#2 delete
.. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/GB/Makefile#1 add
.. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/GB/Makefile.inc#2 delete
.. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/GEORGIAN/Makefile#1 add
.. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/GEORGIAN/Makefile.inc#2 delete
.. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/ISO-8859/Makefile#1 add
.. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/ISO-8859/Makefile.inc#2 delete
.. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/ISO646/Makefile#1 add
.. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/ISO646/Makefile.inc#2 delete
.. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/JIS/Makefile#1 add
.. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/JIS/Makefile.inc#2 delete
.. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/KAZAKH/Makefile#1 add
.. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/KAZAKH/Makefile.inc#2 delete
.. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/KOI/Makefile#1 add
.. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/KOI/Makefile.inc#2 delete
.. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/KS/Makefile#1 add
.. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/KS/Makefile.inc#2 delete
.. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/MISC/Makefile#1 add
.. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/MISC/Makefile.inc#2 delete
.. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/Makefile#2 edit
.. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/Makefile.inc#1 add
.. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/Makefile.part#1 add
.. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/TCVN/Makefile#1 add
.. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/TCVN/Makefile.inc#2 delete
.. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/APPLE/Makefile#1 add
.. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/APPLE/Makefile.inc#2 delete
.. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/AST/Makefile#1 add
.. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/AST/Makefile.inc#2 delete
.. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/BIG5/Makefile#1 add
.. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/BIG5/Makefile.inc#2 delete
.. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/CP/Makefile#1 add
.. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/CP/Makefile.inc#2 delete
.. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/DEC/Makefile#1 add
.. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/DEC/Makefile.inc#2 delete
.. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/EBCDIC/Makefile#1 add
.. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/EBCDIC/Makefile.inc#2 delete
.. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/EUC/Makefile#1 add
.. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/EUC/Makefile.inc#2 delete
.. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/GB/Makefile#1 add
.. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/GB/Makefile.inc#2 delete
.. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/GEORGIAN/Makefile#1 add
.. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/GEORGIAN/Makefile.inc#2 delete
.. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/ISO-2022/Makefile#1 add
.. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/ISO-2022/Makefile.inc#2 delete
.. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/ISO-8859/Makefile#1 add
.. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/ISO-8859/Makefile.inc#2 delete
.. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/ISO646/Makefile#1 add
.. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/ISO646/Makefile.inc#2 delete
.. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/KAZAKH/Makefile#1 add
.. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/KAZAKH/Makefile.inc#2 delete
.. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/KOI/Makefile#1 add
.. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/KOI/Makefile.inc#2 delete
.. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/MISC/Makefile#1 add
.. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/MISC/Makefile.inc#2 delete
.. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/Makefile#2 edit
.. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/Makefile.inc#1 add
.. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/Makefile.part#2 edit
.. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/TCVN/Makefile#1 add
.. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/TCVN/Makefile.inc#2 delete
.. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/UTF/Makefile#1 add
.. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/UTF/Makefile.inc#2 delete
.. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/UTF/UTF.alias#2 edit
.. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/UTF/UTF.part#2 edit
.. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/iconv/Makefile#2 edit

Differences ...

==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/Makefile#2 (text+ko) ====

@@ -112,7 +112,7 @@
 #	-$(srcdir)/check-stateless $(srcdir) JIS_X0208 # redundant, see EUC-JP
 #	-$(srcdir)/check-stateless $(srcdir) JIS_X0212 # redundant, see EUC-JP
 	-$(srcdir)/check-stateless $(srcdir) ISO646-CN
-#	-$(srcdir)/check-stateless $(srcdir) GB_2312-80 # redundant, see EUC-CN
+	-$(srcdir)/check-stateless $(srcdir) GB_2312-80 # redundant, see EUC-CN
 	-$(srcdir)/check-stateless $(srcdir) ISO-IR-165
 #	-$(srcdir)/check-stateless $(srcdir) KSC_5601 # redundant, see EUC-KR
 #	/* CJK encodings */
@@ -129,7 +129,7 @@
 	{ cat $(srcdir)/GB18030-BMP.TXT ; ./gengb18030z ; } | sort > GB18030.TXT && \
 	$(srcdir)/check-stateless . GB18030 && \
 	-$(RM) -r gengb18030z gengb18030z.dSYM GB18030.TXT
-	-$(srcdir)/check-stateful $(srcdir) ISO-2022-CN
+#	-$(srcdir)/check-stateful $(srcdir) ISO-2022-CN
 	-$(srcdir)/check-stateful $(srcdir) ISO-2022-CN-EXT
 	-$(srcdir)/check-stateful $(srcdir) HZ
 	-$(srcdir)/check-stateless $(srcdir) EUC-TW

==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/check-stateful#2 (text+ko) ====

@@ -8,9 +8,8 @@
 # charset, modified for use in filenames.
 charsetf=`echo "$charset" | sed -e 's,:,-,g'`
 
-../../../../usr.bin/iconv/iconv -f "$charset" -t UTF-8 < "${srcdir}"/"$charsetf"-snippet > tmp-snippet
-cmp "${srcdir}"/"$charsetf"-snippet.UTF-8 tmp-snippet
-../../../../usr.bin/iconv/iconv -f UTF-8 -t "$charset" < "${srcdir}"/"$charsetf"-snippet.UTF-8 > tmp-snippet
-cmp "${srcdir}"/"$charsetf"-snippet tmp-snippet
-rm -f tmp-snippet
+../../../../usr.bin/iconv/iconv -f "$charset" -t UTF-8 < "${srcdir}"/"$charsetf"-snippet > tmp-"$charsetf"-snippet.UTF-8
+cmp "${srcdir}"/"$charsetf"-snippet.UTF-8 tmp-"$charsetf"-snippet.UTF-8
+../../../../usr.bin/iconv/iconv -f UTF-8 -t "$charset" < "${srcdir}"/"$charsetf"-snippet.UTF-8 > tmp-"$charsetf"-snippet
+cmp "${srcdir}"/"$charsetf"-snippet tmp-"$charsetf"-snippet
 exit 0

==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/check-stateless#2 (text+ko) ====

@@ -26,7 +26,6 @@
 fi
 cmp tmp-orig-"$charsetf".INVERSE.TXT tmp-"$charsetf".INVERSE.TXT 2> /dev/null
 
-rm -f tmp-"$charsetf".TXT tmp-"$charsetf".INVERSE.TXT tmp-noprecomposed-"$charsetf".TXT tmp-orig-"$charsetf".INVERSE.TXT
 exit 0
 # For a new encoding:
 # You can create the "$charsetf".TXT like this:

==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/table-from.c#2 (text+ko) ====

@@ -110,7 +110,7 @@
   SET_BINARY(fileno(stdout));
 #endif
 
-  cd = iconv_open("UCS-4",charset);
+  cd = iconv_open("UCS-4-INTERNAL",charset);
   if (cd == (iconv_t)(-1)) {
     perror("iconv_open");
     exit(1);

==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/table-to.c#2 (text+ko) ====

@@ -25,8 +25,6 @@
 #include "iconv.h"
 #include <errno.h>
 
-//#include "binary-io.h"
-
 #include "test.h"
 
 int main (int argc, char* argv[])
@@ -45,7 +43,7 @@
   SET_BINARY(fileno(stdout));
 #endif
 
-  cd = iconv_open(charset,"UCS-4");
+  cd = iconv_open(charset,"UCS-4-INTERNAL");
   if (cd == (iconv_t)(-1)) {
     perror("iconv_open");
     exit(1);
@@ -89,8 +87,8 @@
         } else if (inbytesleft == 0 && i >= 0xe0000 && i < 0xe0080) {
           /* Language tags may silently be dropped. */
         } else {
-          fprintf(stderr,"0x%02X: inbytes = %ld, outbytes = %ld\n",i,(long)(sizeof(unsigned int)-inbytesleft),(long)(sizeof(buf)-outbytesleft));
-          exit(1);
+//          fprintf(stderr,"0x%02X: inbytes = %ld, outbytes = %ld\n",i,(long)(sizeof(unsigned int)-inbytesleft),(long)(sizeof(buf)-outbytesleft));
+	  exit(1);
         }
       }
     }

==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/test-shiftseq.c#2 (text+ko) ====

@@ -17,7 +17,7 @@
    Fifth Floor, Boston, MA 02110-1301, USA.  */
 
 #include <stdlib.h>
-#include <iconv.h>
+#include "iconv.h"
 #include <errno.h>
 
 #include "test.h"

==== //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/UTF1632/citrus_utf1632.c#2 (text+ko) ====

@@ -61,9 +61,16 @@
 typedef struct {
 	int		preffered_endian;
 	unsigned int	cur_max;
-#define _ENDIAN_UNKNOWN	0
-#define _ENDIAN_BIG	1
-#define _ENDIAN_LITTLE	2
+#define _ENDIAN_UNKNOWN		0
+#define _ENDIAN_BIG		1
+#define _ENDIAN_LITTLE		2
+#if BYTE_ORDER == BIG_ENDIAN
+#define _ENDIAN_INTERNAL	_ENDIAN_BIG
+#define _ENDIAN_SWAPPED		_ENDIAN_LITTLE
+#else
+#define _ENDIAN_INTERNAL	_ENDIAN_LITTLE
+#define _ENDIAN_SWAPPED		_ENDIAN_BIG
+#endif
 	u_int32_t	mode;
 #define _MODE_UTF32		0x00000001U
 #define _MODE_FORCE_ENDIAN	0x00000002U
@@ -361,6 +368,14 @@
 		case 'l':
 			MATCH(little, ei->preffered_endian = _ENDIAN_LITTLE);
 			break;
+		case 'i':
+		case 'I':
+			MATCH(internal, ei->preffered_endian = _ENDIAN_INTERNAL);
+			break;
+		case 's':
+		case 'S':
+			MATCH(swapped, ei->preffered_endian = _ENDIAN_SWAPPED);
+			break;
 		case 'F':
 		case 'f':
 			MATCH(force, ei->mode |= _MODE_FORCE_ENDIAN);

==== //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/Makefile#2 (text+ko) ====

@@ -1,48 +1,48 @@
 # $NetBSD: Makefile,v 1.13 2007/03/13 16:34:37 tnozaki Exp $
 
-NOMAN=
+FILESDIR=	${CSMAPPERDIR}
 
-.include <bsd.own.mk>
+SUBDIR=		APPLE \
+		AST \
+		BIG5 \
+		CNS \
+		CP \
+		EBCDIC \
+		GB \
+		GEORGIAN \
+		ISO646 \
+		ISO-8859 \
+		JIS \
+		KAZAKH \
+		KOI \
+		KS \
+		MISC \
+		TCVN
 
-.SUFFIXES: .src .646 .mps
-
-BINDIR?= /usr/share/i18n/csmapper
-SRCS_mapper.dir+= mapper.dir.src
-SRCS_charset.pivot+= charset.pivot.src
-
-SUBDIR= APPLE AST BIG5 CNS CP EBCDIC GB GEORGIAN ISO646 ISO-8859 \
-	JIS KAZAKH KOI KS MISC TCVN
+mapper.dir: ${SUBDIR}
+	touch $@
 .for i in ${SUBDIR}
-.if exists(${.CURDIR}/$i/Makefile.inc)
-.include "${.CURDIR}/$i/Makefile.inc"
-.endif
+	cat ${i}/mapper.dir.${i} >> $@
 .endfor
-
-# ----------------------------------------------------------------------
+mapper.dir.db: mapper.dir
+	${MKCSMAPPER} -m -o $@ $>
 
-mapper.dir: ${SRCS_mapper.dir}
-	${_MKTARGET_CREATE}
-	cat $> > $@
-mapper.dir.db: mapper.dir
-	${_MKTARGET_CREATE}
-	${TOOL_MKCSMAPPER} -m -o $@ $>
 FILES+= mapper.dir mapper.dir.db
 CLEANFILES+= mapper.dir mapper.dir.db
 
-charset.pivot: ${SRCS_charset.pivot}
-	${_MKTARGET_CREATE}
-	cat $> > $@
+charset.pivot: ${SUBDIR}
+	touch $@
+.for i in ${SUBDIR}
+	cat ${i}/charset.pivot.${i} >> $@
+.endfor
 charset.pivot.pvdb: charset.pivot
-	${_MKTARGET_CREATE}
-	${TOOL_MKCSMAPPER} -p -o $@ $>
+	${MKCSMAPPER} -p -o $@ $>
+
 FILES+= charset.pivot charset.pivot.pvdb
 CLEANFILES+= charset.pivot charset.pivot.pvdb
 
-.src.mps:
-	${_MKTARGET_CREATE}
-	${TOOL_MKCSMAPPER} -o $@ $>
-
 all: ${FILES}
 realall: ${FILES}
 
+.include "./Makefile.inc"
 .include <bsd.prog.mk>

==== //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/Makefile#2 (text+ko) ====

@@ -1,7 +1,6 @@
 # $NetBSD: Makefile,v 1.14 2007/04/01 18:52:30 tnozaki Exp $
 
-FILESDIR?=	/usr/share/i18n/esdb
-MKESDB?=	../../util/mkesdb/mkesdb
+FILESDIR=	${ESDBDIR}
 
 SUBDIR=	APPLE \
 	AST \
@@ -26,32 +25,26 @@
 		esdb.alias \
 		esdb.alias.db
 
-CLEANFILES+=	esdb.dir \
-		esdb.dir.db \
-		esdb.alias \
-		esdb.alias.db
+CLEANFILES=	${FILES}
 
-.SUFFIXES: .src .esdb
-
-.src.esdb:
-	${_MKTARGET_CREATE}
-	${MKESDB} -o $@ $>
-
-esdb.dir: ${SRC_esdb.dir}
-	${_MKTARGET_CREATE}
-	cat $> > $@
+esdb.dir: ${SUBDIR}
+	touch $@
+.for i in ${SUBDIR}
+	cat ${i}/esdb.dir.${i} >> $@
+.endfor
 esdb.dir.db: esdb.dir
-	${_MKTARGET_CREATE}
 	${MKESDB} -m -o $@ $>
 
-esdb.alias: ${SRC_esdb.alias}
-	${_MKTARGET_CREATE}
-	cat $> > $@
+esdb.alias: ${SUBDIR}
+	touch $@
+.for i in ${SUBDIR}
+	cat ${i}/esdb.alias.${i} >> $@
+.endfor
 esdb.alias.db: esdb.alias
-	${_MKTARGET_CREATE}
 	${MKESDB} -m -o $@ $>
 
 all: ${FILES}
 realall: ${FILES}
 
+.include "./Makefile.inc"
 .include <bsd.prog.mk>

==== //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/Makefile.part#2 (text+ko) ====

@@ -1,54 +1,82 @@
 # $NetBSD: Makefile.part,v 1.6 2008/10/25 22:35:36 apb Exp $
 
-.for code in ${CODE}  # XXX: immediately expand ${CODE}
+PARTFILE?=		${CODE}.part
+ALIASFILE?=		${CODE}.alias
+.if !defined(NO_SEP)
+SEP?=			-
+.endif
+.if exists(${PARTFILE})
+PART!=			sed '/^\#/d;/^ *$$/d' ${PARTFILE}
+.endif
+.if !defined(NO_EPREFIX)
+CODESETS?=		${PART:C/^/${CODE}${SEP}/}
+EPREFIX?=		${CODE}${SEP}
+.else
+CODESETS?=		${PART}
+EPREFIX?=		
+.endif
+ESUBDIR?=		${CODE}
+ESDB?=			${CODESETS:C/$/.esdb/:S/:/@/}
+
+FILES+=		${ESDB}
+FILESDIR=	${ESDBDIR}/${ESUBDIR}
+
+.SUFFIXES: .src .esdb
 
-PARTFILE_${code}?=	${.CURDIR}/${code}/${code}.part
-ALIASFILE_${code}?=	${.CURDIR}/${code}/${code}.alias
-SEP_${code}?=		-
-SUBDIR_${code}?=	${code}
-${code}_PART!=		sed '/^\#/d;/^ *$$/d' ${PARTFILE_${code}}
-CODESETS_${code}?=	${${code}_PART:C/^/${code}${SEP_${code}}/}
-ESDB_${code}?=		${CODESETS_${code}:C/$/.esdb/:S/:/@/}
+.src.esdb:
+	${MKESDB} -o $@ $>
 
-FILES+=		${ESDB_${code}}
-CLEANFILES+=	${ESDB_${code}}
-.for i in ${ESDB_${code}}
-FILESDIR_$i?=	${BINDIR}/${SUBDIR_${code}}
-.endfor
+CLEANFILES+=	${ESDB}
+CLEANFILES+=	esdb.dir.${ESUBDIR}
+CLEANFILES+=	esdb.alias.${ESUBDIR}
 
 # ----------------------------------------------------------------------
 # esdb.dir
 #
-esdb.dir.${code}: ${PARTFILE_${code}}
-	${_MKTARGET_CREATE}
-	echo "# ${code}" > $@
-.for i in ${${code}_PART}
-	printf "%-32s%s\n" "${code}${SEP_${code}}$i" \
-		"${SUBDIR_${code}}/${code}${SEP_${code}}${i:S/:/@/}.esdb" >> $@
+esdb.dir.${ESUBDIR}: ${PARTFILE}
+	echo "# ${CODE}" > $@
+.for i in ${PART}
+	printf "%-32s%s\n" "${EPREFIX}$i" \
+		"${ESUBDIR}/${EPREFIX}${i:S/:/@/}.esdb" >> $@
 .endfor
 	echo >> $@
-SRC_esdb.dir+=	esdb.dir.${code}
-CLEANFILES+=	esdb.dir.${code}
 
 # ----------------------------------------------------------------------
 # esdb.alias
 #
-.for i in ${${code}_PART:S/:/@/}
-${code}_$i_aliases!= echo \
+.for i in ${PART:S/:/@/}
+${CODE}_$i_aliases!= echo \
 	`sed \
 	    '/^\#/d;/^ *$$/d;/^${i:S/@/:/}[ 	]/!d;s/^[^ 	]*[ 	]*//' \
-		${ALIASFILE_${code}}`
+		${ALIASFILE}`
 .endfor
-esdb.alias.${code}: ${PARTFILE_${code}} ${ALIASFILE_${code}}
-	${_MKTARGET_CREATE}
-	echo "# ${code}" > $@
-.for i in ${${code}_PART:S/:/@/}
-.for j in ${${code}_$i_aliases}
-	printf "%-32s%s\n" "$j" "${code}${SEP_${code}}${i:S/@/:/}" >> $@
+esdb.alias.${ESUBDIR}: ${PARTFILE} ${ALIASFILE}
+	echo "# ${CODE}" > $@
+.for i in ${PART:S/:/@/}
+.for j in ${${CODE}_$i_aliases}
+	printf "%-32s%s\n" "$j" "${EPREFIX}${i:S/@/:/}" >> $@
 .endfor
 .endfor
 	echo >> $@
-SRC_esdb.alias+=esdb.alias.${code}
-CLEANFILES+=	esdb.alias.${code}
+
+all: realall
+realall: esdb.dir.${ESUBDIR} esdb.alias.${ESUBDIR} codesets tmpclean
+codesets: ${ESDB}
+
+.if !defined(NO_PREPROC)
+.for i in ${PART}
+.if !exists(${EPREFIX}${i:S/:/@/}.src)
+TMPFILES+=	${EPREFIX}${i:S/:/@/}.src
+${EPREFIX}${i:S/:/@/}.src: ${CODE}.src
+	sed ${SED_EXP:S@%%PART%%@${i}@} ${CODE}.src > ${EPREFIX}${i:S/:/@/}.src
+.endif
+.endfor
+.endif
+
+tmpclean:
+.for i in ${TMPFILES}
+	-/bin/rm ${i} >/dev/null 2>&1
+.endfor
 
-.endfor # code
+.include "./Makefile.inc"
+.include <bsd.prog.mk>

==== //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/UTF/UTF.alias#2 (text+ko) ====

@@ -4,7 +4,11 @@
 8		utf-8 utf8
 16		utf-16 unicode
 16LE		utf-16le ucs-2le unicodelittle
-16BE		utf-16be ucs-2 ucs-2be unicodebig
+16BE		utf-16be iso-10646-ucs-2 ucs-2 ucs-2be unicodebig csunicode unicode-1-1 csunicode11
+16-INTERNAL	ucs-2-internal
+16-SWAPPED	ucs-2-swapped
 32		utf-32
 32LE		utf-32le ucs-4le
-32BE		utf-32be ucs-4 ucs-4-internal ucs-4be
+32BE		utf-32be ucs-4 ucs-4be
+32-INTERNAL	ucs-4-internal
+32-SWAPPED	ucs-4-swapped

==== //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/UTF/UTF.part#2 (text+ko) ====

@@ -5,6 +5,10 @@
 16
 16BE
 16LE
+16-INTERNAL
+16-SWAPPED
 32
 32BE
 32LE
+32-INTERNAL
+32-SWAPPED

==== //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/iconv/Makefile#2 (text+ko) ====

@@ -1,8 +1,10 @@
 # $NetBSD: Makefile,v 1.1 2003/06/27 08:40:59 tshiozak Exp $
 
-BINDIR?= /usr/share/i18n/iconv
+FILESDIR= /usr/share/i18n/iconv
+FILES+= iconv.dir
 
-FILES+= iconv.dir
-FILESDIR= ${BINDIR}
+.if !target(beforeinstall)
+	mkdir -p ${FILESDIR}
+.endif
 
 .include <bsd.prog.mk>



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200906212105.n5LL5Jh6078757>