Submitted By:            Bruce Dubbs <bdubbs_at_linuxfromscratch_dot_org>
Date:                    2013-01-03
Initial Package Version: 0.8.5
Upstream Status:         None.  BLFS specific.
Origin:                  BLFS
Description:             Updates Makefile enabling parameter passing.
                         Fixes a couple of minor compiler warnings.

diff -Naur gptfdisk-0.8.5/Makefile gptfdisk-0.8.5-test/Makefile
--- gptfdisk-0.8.5/Makefile	2012-05-30 15:38:43.000000000 +0000
+++ gptfdisk-0.8.5-test/Makefile	2013-01-01 18:40:37.000000000 +0000
@@ -1,33 +1,48 @@
-CC=gcc
-CXX=g++
-CFLAGS+=-D_FILE_OFFSET_BITS=64
-CXXFLAGS+=-Wall -D_FILE_OFFSET_BITS=64 -D USE_UTF16
-#CXXFLAGS+=-Wall -D_FILE_OFFSET_BITS=64
-LDFLAGS+=
-LIB_NAMES=crc32 support guid gptpart mbrpart basicmbr mbr gpt bsd parttypes attributes diskio diskio-unix
-MBR_LIBS=support diskio diskio-unix basicmbr mbrpart
-LIB_OBJS=$(LIB_NAMES:=.o)
-MBR_LIB_OBJS=$(MBR_LIBS:=.o)
-LIB_HEADERS=$(LIB_NAMES:=.h)
-DEPEND= makedepend $(CXXFLAGS)
+ifdef ICU
+ USE_ICU     = -DUSE_UTF16
+ EXTRA_LIBS  = -licuio -licuuc
+endif
+
+ifdef POPT
+ EXTRA_LIBS += -lpopt
+ SGDISK      = sgdisk
+endif
+
+CC           = gcc
+CXX          = g++
+CFLAGS      += -D_FILE_OFFSET_BITS=64
+CXXFLAGS    += -Wall -D_FILE_OFFSET_BITS=64 $(USE_ICU)
+
+LDFLAGS     +=
+LIB_NAMES    = crc32 support guid gptpart mbrpart basicmbr mbr \
+               gpt bsd parttypes attributes diskio diskio-unix
+LIB_OBJS     = $(LIB_NAMES:=.o)
+LIB_HEADERS  = $(LIB_NAMES:=.h)
 
-all:	cgdisk gdisk sgdisk fixparts
+MBR_LIBS     = support diskio diskio-unix basicmbr mbrpart
+MBR_LIB_OBJS = $(MBR_LIBS:=.o)
+
+DEPEND       = makedepend $(CXXFLAGS)
+
+all:	cgdisk gdisk fixparts $(SGDISK)
 
 gdisk:	$(LIB_OBJS) gdisk.o gpttext.o
-#	$(CXX) $(LIB_OBJS) gdisk.o gpttext.o $(LDFLAGS) -luuid -o gdisk
-	$(CXX) $(LIB_OBJS) gdisk.o gpttext.o $(LDFLAGS) -licuio -licuuc -luuid -o gdisk
+	$(CXX) $(LIB_OBJS) gdisk.o gpttext.o $(LDFLAGS) $(EXTRA_LIBS) -luuid -o gdisk
 
 cgdisk: $(LIB_OBJS) cgdisk.o gptcurses.o
-#	$(CXX) $(LIB_OBJS) cgdisk.o gptcurses.o $(LDFLAGS) -luuid -lncurses -o cgdisk
-	$(CXX) $(LIB_OBJS) cgdisk.o gptcurses.o $(LDFLAGS) -licuio -licuuc -luuid -lncurses -o cgdisk
+	$(CXX) $(LIB_OBJS) cgdisk.o gptcurses.o $(LDFLAGS) $(EXTRA_LIBS) -luuid -lncurses -o cgdisk
 
 sgdisk: $(LIB_OBJS) sgdisk.o gptcl.o
-#	$(CXX) $(LIB_OBJS) sgdisk.o gptcl.o $(LDFLAGS) -luuid -lpopt -o sgdisk
-	$(CXX) $(LIB_OBJS) sgdisk.o gptcl.o $(LDFLAGS) -licuio -licuuc -luuid -lpopt -o sgdisk
+	$(CXX) $(LIB_OBJS) sgdisk.o gptcl.o $(LDFLAGS) $(EXTRA_LIBS) -luuid -o sgdisk
 
 fixparts: $(MBR_LIB_OBJS) fixparts.o
 	$(CXX) $(MBR_LIB_OBJS) fixparts.o $(LDFLAGS) -o fixparts
 
+install: all 
+	mkdir -p $(DESTDIR)/sbin $(DESTDIR)/usr/share/man/man8
+	cp gdisk cgdisk fixparts $(SGDISK) $(DESTDIR)/sbin
+	cp *.8 $(DESTDIR)/usr/share/man/man8
+
 lint:	#no pre-reqs
 	lint $(SRCS)
 
diff -Naur gptfdisk-0.8.5/gptcurses.cc gptfdisk-0.8.5-test/gptcurses.cc
--- gptfdisk-0.8.5/gptcurses.cc	2012-05-30 15:38:42.000000000 +0000
+++ gptfdisk-0.8.5-test/gptcurses.cc	2013-01-01 05:31:31.000000000 +0000
@@ -219,7 +219,10 @@
 Space* GPTDataCurses::ShowSpace(int spaceNum, int lineNum) {
    Space *space;
    int i = 0;
+   
+   #ifdef USE_UTF16
    char temp[40];
+   #endif
 
    space = firstSpace;
    while ((space != NULL) && (i < spaceNum)) {
@@ -308,7 +311,10 @@
 // Displays information on the specified partition
 void GPTDataCurses::ShowInfo(int partNum) {
    uint64_t size;
+
+   #ifdef USE_UTF16
    char temp[NAME_SIZE / 2 + 1];
+   #endif
 
    clear();
    move(2, (COLS - 29) / 2);
@@ -390,7 +396,8 @@
       move(LINES - 3, 0);
       printw("Type new alignment value, in sectors: ");
       echo();
-      scanw("%d", &alignment);
+      // g++ complains because "%d" is a const char* not a char*
+      scanw( (char*)"%d", &alignment );
       noecho();
    } while ((alignment == 0) || (alignment > MAX_ALIGNMENT));
    GPTData::SetAlignment(alignment);
