Windows: build mtafsdir.lib and use it
authorJeffrey Altman <jaltman@your-file-system.com>
Thu, 20 Jan 2011 05:57:03 +0000 (00:57 -0500)
committerDerrick Brashear <shadow@dementia.org>
Thu, 20 Jan 2011 13:28:35 +0000 (05:28 -0800)
The executables built in src/vol are pthreaded.  Therefore, they
require a pthread safe version of the src/dir objects.  Instead
of building the dir object files in yet another directory, create
a mtafsdir.lib in src/dir and use it in src/vol, src/tviced and
src/tsalvaged.

Change-Id: I50017bd56ec741af1ff3fc1dd39208e610369088
Reviewed-on: http://gerrit.openafs.org/3693
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Rod Widdowson <rdw@steadingsoftware.com>
Reviewed-by: Derrick Brashear <shadow@dementia.org>

src/dir/NTMakefile
src/tsalvaged/NTMakefile
src/tviced/NTMakefile
src/vol/NTMakefile

index e915141..7e1079f 100644 (file)
@@ -34,8 +34,32 @@ $(DIR_LIBFILE): $(DIR_LIBOBJS)
 
 
 ############################################################################
+# build mtafsdir.lib
+
+MT_DIR_LIBFILE = $(DESTDIR)\lib\afs\mtafsdir.lib
+
+MT_DIR_LIBOBJS =\
+       $(OUT)\buffer_mt.obj \
+       $(OUT)\dir_mt.obj \
+       $(OUT)\salvage_mt.obj \
+       $(OUT)\AFS_component_version_number.obj
+
+$(OUT)\buffer_mt.obj:buffer.c
+       $(C2OBJ) $** -DAFS_PTHREAD_ENV
+
+$(OUT)\dir_mt.obj:dir.c
+       $(C2OBJ) $** -DAFS_PTHREAD_ENV
+
+$(OUT)\salvage_mt.obj:salvage.c
+       $(C2OBJ) $** -DAFS_PTHREAD_ENV
+
+$(MT_DIR_LIBFILE): $(MT_DIR_LIBOBJS)
+       $(LIBARCH)
+
+
+############################################################################
 # make and install library.
-install: $(DIR_LIBFILE) $(INCFILES)
+install: $(DIR_LIBFILE) $(MT_DIR_LIBFILE) $(INCFILES)
 
 
 ############################################################################
index 8017072..2e5b49a 100644 (file)
@@ -33,16 +33,10 @@ SSD_RES = $(OUT)\salvsync-debug.res
 LWP = ..\lwp
 LIBACL = ..\libacl
 UTIL = ..\util
-DIR = ..\dir
 VLIB = ..\vol
 
 noversion: install
 
-DIROBJS =\
-        $(OUT)\buffer.obj \
-        $(OUT)\dir.obj \
-        $(OUT)\salvage.obj
-
 LWPOBJS =\
         $(OUT)\lock.obj \
         $(OUT)\fasttime.obj \
@@ -86,7 +80,7 @@ SALVAGEROBJS =\
         $(OUT)\svol-salvage.obj \
         $(OUT)\sphysio.obj
 
-OBJECTS= $(SALVAGEDOBJS) $(VLIBOBJS) $(DIROBJS) $(LWPOBJS)
+OBJECTS= $(SALVAGEDOBJS) $(VLIBOBJS) $(LWPOBJS)
 SOBJECTS= $(SALVAGEROBJS)
 
 FSSDEBUG_OBJS =\
@@ -107,9 +101,6 @@ SSSDEBUG_OBJS =\
         $(DIROBJS) \
         $(LWPOBJS)
 
-$(DIROBJS): $(DIR)\$$(@B).c
-       $(C2OBJ) -I$(DIR) $**
-
 $(LWPOBJS): $(LWP)\$$(@B).c
        $(C2OBJ) -I$(LWP) $**
 
@@ -143,6 +134,7 @@ EXELIBS = \
        $(DESTDIR)\lib\afs\mtafsutil.lib \
         $(DESTDIR)\lib\afs\daafsvol.lib \
         $(DESTDIR)\lib\afs\mtafsvldb.lib \
+        $(DESTDIR_\lib\afs\mtafsdir.lib \
        $(DESTDIR)\lib\afspthread.lib
 
 $(SS_EXEFILE): $(OBJECTS) $(SS_RES) $(EXELIBS)
index e255380..a2407cc 100644 (file)
@@ -22,7 +22,6 @@ VICED = ..\viced
 TVICED = .
 LWP = ..\lwp
 LIBACL = ..\libacl
-DIR = ..\dir
 FSINT = ..\fsint
 RX = ..\rx
 
@@ -39,12 +38,10 @@ LWPOBJS = $(OUT)\lock.obj $(OUT)\fasttime.obj $(OUT)\threadname.obj
 
 LIBACLOBJS = $(OUT)\aclprocs.obj $(OUT)\netprocs.obj
 
-DIROBJS = $(OUT)\buffer.obj $(OUT)\dir.obj $(OUT)\salvage.obj
-
 FSINTOBJS = $(OUT)\afsaux.obj $(OUT)\afscbint.cs.obj $(OUT)\afsint.ss.obj $(OUT)\afsint.xdr.obj
 
 EXEOBJS = $(VICEDOBJS) $(TVICEDRES) $(LWPOBJS) $(LIBACLOBJS) \
-         $(DIROBJS) $(FSINTOBJS) $(RXOBJS) #$(TVICEDOBJS)
+         $(FSINTOBJS) $(RXOBJS) #$(TVICEDOBJS)
 
 noversion: install
 
@@ -68,9 +65,6 @@ $(LWPOBJS): $(LWP)\$$(@B).C
 $(LIBACLOBJS): $(LIBACL)\$$(@B).C
        $(C2OBJ) -I$(LIBACL) $**
 
-$(DIROBJS): $(DIR)\$$(@B).C
-       $(C2OBJ) -I$(DIR) $**
-
 $(FSINTOBJS): $(FSINT)\$$(@B).C
        $(C2OBJ) -I$(FSINT) $**
 
@@ -86,6 +80,7 @@ EXELIBS = \
        $(DESTDIR)\lib\afs\mtafsutil.lib \
         $(DESTDIR)\lib\afs\mtafsvol.lib \
         $(DESTDIR)\lib\afs\mtafsvldb.lib \
+        $(DESTDIR)\lib\afs\mtafsdir.lib \
        $(DESTDIR)\lib\afspthread.lib \
        $(DESTDIR)\lib\afsroken.lib
 
index 65682b7..ef1340b 100644 (file)
@@ -177,7 +177,7 @@ EXEC_LIBS = \
        $(DESTDIR)\lib\afs\mtafsvol.lib \
        $(DESTDIR)\lib\afs\mtafsutil.lib \
         $(DESTDIR)\lib\afsrpc.lib \
-       $(DESTDIR)\lib\afs\afsdir.lib \
+       $(DESTDIR)\lib\afs\mtafsdir.lib \
        $(DESTDIR)\lib\afs\afsacl.lib \
        $(DESTDIR)\lib\afs\afsreg.lib \
        $(DESTDIR)\lib\afs\afsprocmgmt.lib \