[clblas] 75/125: Replace 'strcat (buildOptStr, ...' with 'addBuildOpt(buildOptStr, ...'

Ghislain Vaillant ghisvail-guest at moszumanska.debian.org
Fri May 29 06:57:24 UTC 2015


This is an automated email from the git hooks/post-receive script.

ghisvail-guest pushed a commit to branch master
in repository clblas.

commit 8c01bc38fa66318d162f037ce0d15525e00f664e
Author: Christian Kellner <christian at kellner.me>
Date:   Thu Jun 12 17:04:08 2014 +0200

    Replace 'strcat (buildOptStr,...' with 'addBuildOpt(buildOptStr,...'
    
    This fixes the invalid program options kernel build error on OSX
    10.9.3 (cf. issue #37).
---
 src/library/blas/generic/common.c          |  4 ++--
 src/library/blas/gens/asum.cpp             |  8 +++----
 src/library/blas/gens/axpy_reg.cpp         |  6 ++---
 src/library/blas/gens/copy_reg.cpp         |  6 ++---
 src/library/blas/gens/dot.cpp              |  6 ++---
 src/library/blas/gens/gbmv.cpp             | 16 ++++++-------
 src/library/blas/gens/gemm_cached.cpp      | 36 ++++++++++++++---------------
 src/library/blas/gens/gemm_tail_cached.cpp | 37 +++++++++++++++---------------
 src/library/blas/gens/ger_lds.cpp          |  2 +-
 src/library/blas/gens/her2_lds.cpp         |  8 +++----
 src/library/blas/gens/her_lds.cpp          |  8 +++----
 src/library/blas/gens/iamax.cpp            |  8 +++----
 src/library/blas/gens/nrm2.cpp             | 12 +++++-----
 src/library/blas/gens/reduction.cpp        | 16 ++++++-------
 src/library/blas/gens/rotg_reg.cpp         |  4 ++--
 src/library/blas/gens/rotm_reg.cpp         |  8 +++----
 src/library/blas/gens/rotmg_reg.cpp        |  2 +-
 src/library/blas/gens/scal_reg.cpp         |  4 ++--
 src/library/blas/gens/swap_reg.cpp         |  6 ++---
 src/library/blas/gens/symm_cached.cpp      | 14 +++++------
 src/library/blas/gens/syr2_lds.cpp         |  4 ++--
 src/library/blas/gens/syr_lds.cpp          |  4 ++--
 src/library/blas/gens/trmv_reg.cpp         | 10 ++++----
 src/library/blas/gens/trsv_gemv.cpp        |  4 ++--
 src/library/blas/gens/trsv_trtri.cpp       |  6 ++---
 25 files changed, 120 insertions(+), 119 deletions(-)

diff --git a/src/library/blas/generic/common.c b/src/library/blas/generic/common.c
index e77a4ce..10ec595 100644
--- a/src/library/blas/generic/common.c
+++ b/src/library/blas/generic/common.c
@@ -527,14 +527,14 @@ setupBuildOpts(
     opts[0] = '\0';
 
 #if !defined NDEBUG
-    strcpy(opts, "-g ");
+    addBuildOpt(opts, BUILD_OPTS_MAXLEN, "-g");
 #endif  /* NDEBUG */
 
     if (target.ident.vendor == VENDOR_NVIDIA &&
         !strcmp(mempat->name, "2-staged cached global memory based "
                               "block trsm")) {
 
-        strcat(opts, "-cl-opt-disable");
+        addBuildOpt(opts, BUILD_OPTS_MAXLEN, "-cl-opt-disable");
     }
 }
 
diff --git a/src/library/blas/gens/asum.cpp b/src/library/blas/gens/asum.cpp
index 3260acb..06b9f54 100644
--- a/src/library/blas/gens/asum.cpp
+++ b/src/library/blas/gens/asum.cpp
@@ -125,23 +125,23 @@ setBuildOpts(
     const CLBlasKargs *kargs = (const CLBlasKargs *)(&step->args);
     if ( kargs->dtype == TYPE_DOUBLE || kargs->dtype == TYPE_COMPLEX_DOUBLE)
 	{
-		strcat( buildOptStr, " -DDOUBLE_PRECISION ");
+		addBuildOpt( buildOptStr, BUILD_OPTS_MAXLEN, "-DDOUBLE_PRECISION");
 		#ifdef DEBUG_DOT
 		printf("Setting build options ... Double... for DOUBLE PRECISION support\n");
 		#endif
 	}
 	if ( (kargs->dtype == TYPE_COMPLEX_FLOAT) || (kargs->dtype == TYPE_COMPLEX_DOUBLE))
 	{
-		strcat( buildOptStr, " -DCOMPLEX ");
+		addBuildOpt( buildOptStr, BUILD_OPTS_MAXLEN, "-DCOMPLEX");
 		#ifdef DEBUG_ASUM
 		printf("Setting build options ... Double... for DOUBLE PRECISION support\n");
 		#endif
 	}
     if( (kargs->ldb.vector) != 1) {
-        strcat( buildOptStr, " -DINCX_NONUNITY ");
+        addBuildOpt( buildOptStr, BUILD_OPTS_MAXLEN, "-DINCX_NONUNITY");
     }
     if( (kargs->ldb.vector) < 1) {
-        strcat( buildOptStr, " -DINCX_NEGATIVE ");
+        addBuildOpt( buildOptStr, BUILD_OPTS_MAXLEN, "-DINCX_NEGATIVE");
     }
 	return;
 }
diff --git a/src/library/blas/gens/axpy_reg.cpp b/src/library/blas/gens/axpy_reg.cpp
index 0f8ced0..52aab71 100644
--- a/src/library/blas/gens/axpy_reg.cpp
+++ b/src/library/blas/gens/axpy_reg.cpp
@@ -125,16 +125,16 @@ setBuildOpts(
     const CLBlasKargs *kargs = (const CLBlasKargs *)(&step->args);
 	if ( kargs->dtype == TYPE_DOUBLE || kargs->dtype == TYPE_COMPLEX_DOUBLE)
 	{
-		strcat( buildOptStr, " -DDOUBLE_PRECISION ");
+		addBuildOpt( buildOptStr, BUILD_OPTS_MAXLEN, "-DDOUBLE_PRECISION");
 		#ifdef DEBUG_AXPY
 		printf("Setting build options ... Double... for DOUBLE PRECISION support\n");
 		#endif
 	}
 	if( (kargs->ldb.vector) != 1) {
-        strcat( buildOptStr, " -DINCX_NONUNITY ");
+        addBuildOpt( buildOptStr, BUILD_OPTS_MAXLEN, "-DINCX_NONUNITY");
     }
     if( (kargs->ldc.vector) != 1) {
-        strcat( buildOptStr, " -DINCY_NONUNITY ");
+        addBuildOpt( buildOptStr, BUILD_OPTS_MAXLEN, "-DINCY_NONUNITY");
     }
 
 	return;
diff --git a/src/library/blas/gens/copy_reg.cpp b/src/library/blas/gens/copy_reg.cpp
index d9f7095..ba1ff39 100644
--- a/src/library/blas/gens/copy_reg.cpp
+++ b/src/library/blas/gens/copy_reg.cpp
@@ -125,16 +125,16 @@ setBuildOpts(
     const CLBlasKargs *kargs = (const CLBlasKargs *)(&step->args);
 	if ( kargs->dtype == TYPE_DOUBLE || kargs->dtype == TYPE_COMPLEX_DOUBLE)
 	{
-		strcat( buildOptStr, " -DDOUBLE_PRECISION ");
+		addBuildOpt( buildOptStr, BUILD_OPTS_MAXLEN, "-DDOUBLE_PRECISION");
 		#ifdef DEBUG_COPY
 		printf("Setting build options ... Double... for DOUBLE PRECISION support\n");
 		#endif
 	}
 	if( (kargs->ldb.vector) != 1) {
-        strcat( buildOptStr, " -DINCX_NONUNITY ");
+        addBuildOpt( buildOptStr, BUILD_OPTS_MAXLEN, "-DINCX_NONUNITY");
     }
     if( (kargs->ldc.vector) != 1) {
-        strcat( buildOptStr, " -DINCY_NONUNITY ");
+        addBuildOpt( buildOptStr, BUILD_OPTS_MAXLEN, "-DINCY_NONUNITY");
     }
 
 	return;
diff --git a/src/library/blas/gens/dot.cpp b/src/library/blas/gens/dot.cpp
index 3f68221..ed3e72b 100644
--- a/src/library/blas/gens/dot.cpp
+++ b/src/library/blas/gens/dot.cpp
@@ -128,16 +128,16 @@ setBuildOpts(
     const CLBlasKargs *kargs = (const CLBlasKargs *)(&step->args);
 	if ( kargs->dtype == TYPE_DOUBLE || kargs->dtype == TYPE_COMPLEX_DOUBLE)
 	{
-		strcat( buildOptStr, " -DDOUBLE_PRECISION ");
+		addBuildOpt( buildOptStr, BUILD_OPTS_MAXLEN, "-DDOUBLE_PRECISION");
 		#ifdef DEBUG_DOT
 		printf("Setting build options ... Double... for DOUBLE PRECISION support\n");
 		#endif
 	}
     if( (kargs->ldb.vector) != 1) {
-        strcat( buildOptStr, " -DINCX_NONUNITY ");
+        addBuildOpt( buildOptStr, BUILD_OPTS_MAXLEN, "-DINCX_NONUNITY");
     }
     if( (kargs->ldc.vector) != 1) {
-        strcat( buildOptStr, " -DINCY_NONUNITY ");
+        addBuildOpt( buildOptStr, BUILD_OPTS_MAXLEN, "-DINCY_NONUNITY");
     }
 
 	return;
diff --git a/src/library/blas/gens/gbmv.cpp b/src/library/blas/gens/gbmv.cpp
index 115ffbc..ab8e5e2 100644
--- a/src/library/blas/gens/gbmv.cpp
+++ b/src/library/blas/gens/gbmv.cpp
@@ -116,7 +116,7 @@ setBuildOpts(
 
 	if ( (kargs->dtype == TYPE_DOUBLE) || (kargs->dtype == TYPE_COMPLEX_DOUBLE) )
 	{
-		strcat( buildOptStr, " -DDOUBLE_PRECISION ");
+		addBuildOpt( buildOptStr, BUILD_OPTS_MAXLEN, "-DDOUBLE_PRECISION");
 		#ifdef DEBUG_GBMV
 		printf("Setting build options ... Double... for DOUBLE PRECISION support\n");
 		#endif
@@ -124,15 +124,15 @@ setBuildOpts(
 
     if( kargs->pigFuncID == CLBLAS_TBMV )
 	{
-		strcat( buildOptStr, " -DTBMV_ONLY ");
+		addBuildOpt( buildOptStr, BUILD_OPTS_MAXLEN, "-DTBMV_ONLY");
 		if( kargs->diag == clblasUnit )
 		{
-		    strcat( buildOptStr, " -DUNIT_DIAG ");
+		    addBuildOpt( buildOptStr, BUILD_OPTS_MAXLEN, "-DUNIT_DIAG");
 		}
 	}
 	if( ((kargs->pigFuncID == CLBLAS_GBMV) || (kargs->pigFuncID == CLBLAS_TBMV)) && (kargs->transA == clblasConjTrans) )
 	{
-	    strcat( buildOptStr, " -DDO_CONJ ");
+	    addBuildOpt( buildOptStr, BUILD_OPTS_MAXLEN, "-DDO_CONJ");
 	}
 
 	if( (kargs->pigFuncID == CLBLAS_SBMV) || (kargs->pigFuncID == CLBLAS_HBMV) )
@@ -141,15 +141,15 @@ setBuildOpts(
 	    isUpper = ( kargs->order == clblasColumnMajor )? !isUpper : isUpper;
 
 	    if( isUpper )
-	            strcat( buildOptStr, " -DGIVEN_SHBMV_UPPER ");
-	    else    strcat( buildOptStr, " -DGIVEN_SHBMV_LOWER ");
+	            addBuildOpt( buildOptStr, BUILD_OPTS_MAXLEN, "-DGIVEN_SHBMV_UPPER");
+	    else    addBuildOpt( buildOptStr, BUILD_OPTS_MAXLEN, "-DGIVEN_SHBMV_LOWER");
 
         if(kargs->pigFuncID == CLBLAS_HBMV)
         {
-            strcat( buildOptStr, " -DHBMV_ONLY ");
+            addBuildOpt( buildOptStr, BUILD_OPTS_MAXLEN, "-DHBMV_ONLY");
             if( kargs->order == clblasColumnMajor )  // Since routine calls Row-major, the whole matrix has to be conjugated while loading
             {
-                strcat( buildOptStr, " -DDO_CONJ ");
+                addBuildOpt( buildOptStr, BUILD_OPTS_MAXLEN, "-DDO_CONJ");
             }
         }
 	}
diff --git a/src/library/blas/gens/gemm_cached.cpp b/src/library/blas/gens/gemm_cached.cpp
index 09231f9..5c7c352 100644
--- a/src/library/blas/gens/gemm_cached.cpp
+++ b/src/library/blas/gens/gemm_cached.cpp
@@ -158,36 +158,36 @@ setBuildOpts(
 
     if ( kargs->dtype == TYPE_DOUBLE || kargs->dtype == TYPE_COMPLEX_DOUBLE)
     {
-        strcat( buildOptStr, " -DDOUBLE_PRECISION ");
+        addBuildOpt( buildOptStr, BUILD_OPTS_MAXLEN, "-DDOUBLE_PRECISION");
     }
 
     if (isComplexType(kargs->dtype))
     {
-        strcat(buildOptStr, " -DCOMPLEX ");
+        addBuildOpt( buildOptStr, BUILD_OPTS_MAXLEN, "-DCOMPLEX");
     }
 
     if ((bestSize.useBarrier) == 1)
     {
-	    strcat(buildOptStr, " -DGEMM_NEEDS_BARRIER ");
+	    addBuildOpt( buildOptStr, BUILD_OPTS_MAXLEN, "-DGEMM_NEEDS_BARRIER");
     }
 
     if (kargs->M % dims->y)
 	{
-		strcat(buildOptStr, " -DM_TAIL_PRESENT ");
+		addBuildOpt( buildOptStr, BUILD_OPTS_MAXLEN, "-DM_TAIL_PRESENT");
     }
 
 	if (kargs->N % dims->x)
 	{
-		strcat(buildOptStr, " -DN_TAIL_PRESENT ");
+		addBuildOpt( buildOptStr, BUILD_OPTS_MAXLEN, "-DN_TAIL_PRESENT");
 	}
 
     if (kflags & KEXTRA_CONJUGATE_A)
     {
-        strcat( buildOptStr, " -DCONJUGATE_A ");
+        addBuildOpt( buildOptStr, BUILD_OPTS_MAXLEN, "-DCONJUGATE_A");
     }
     if (kflags & KEXTRA_CONJUGATE_B)
     {
-        strcat( buildOptStr, " -DCONJUGATE_B ");
+        addBuildOpt( buildOptStr, BUILD_OPTS_MAXLEN, "-DCONJUGATE_B");
     }
 
     switch(kargs->pigFuncID)
@@ -201,46 +201,46 @@ setBuildOpts(
             #endif
             if (kargs->side == clblasLeft)
             {
-                strcat (buildOptStr, " -D__SYMM_LEFT__ ");
+                addBuildOpt( buildOptStr, BUILD_OPTS_MAXLEN, "-D__SYMM_LEFT__");
             }
             if (kargs->side == clblasRight)
             {
-                strcat (buildOptStr, " -D__SYMM_RIGHT__ ");
+                addBuildOpt( buildOptStr, BUILD_OPTS_MAXLEN, "-D__SYMM_RIGHT__");
             }
             if (kargs->uplo == clblasLower)
             {
-                strcat(buildOptStr, " -D__SYMM_LOWER__ ");
+                addBuildOpt( buildOptStr, BUILD_OPTS_MAXLEN, "-D__SYMM_LOWER__");
             }
             if (kargs->uplo == clblasUpper)
             {
-                strcat(buildOptStr, " -D__SYMM_UPPER__ ");
+                addBuildOpt( buildOptStr, BUILD_OPTS_MAXLEN, "-D__SYMM_UPPER__");
             }
             // Define the order for Legacy sake.
             if (kargs->order == clblasColumnMajor)
             {
-                strcat(buildOptStr, " -D__SYMM_COLMAJOR__ ");
+                addBuildOpt( buildOptStr, BUILD_OPTS_MAXLEN, "-D__SYMM_COLMAJOR__");
             } else {
-                strcat(buildOptStr, " -D__SYMM_ROWMAJOR__ ");
+                addBuildOpt( buildOptStr, BUILD_OPTS_MAXLEN, "-D__SYMM_ROWMAJOR__");
             }
             if ((kargs->pigFuncID == CLBLAS_SYMM_DIAGONAL) || (kargs->pigFuncID == CLBLAS_HEMM_DIAGONAL))
             {
-                strcat(buildOptStr, " -D__SYMM_DIAGONAL__ ");
+                addBuildOpt( buildOptStr, BUILD_OPTS_MAXLEN, "-D__SYMM_DIAGONAL__");
             }
             if (kargs->pigFuncID == CLBLAS_HEMM_DIAGONAL)
             {
-                strcat(buildOptStr, " -D__HEMM__ ");
+                addBuildOpt( buildOptStr, BUILD_OPTS_MAXLEN, "-D__HEMM__");
             }
             break;
 
          case CLBLAS_HERK:
-            strcat( buildOptStr, " -DHERK");
+            addBuildOpt( buildOptStr, BUILD_OPTS_MAXLEN, "-DHERK");
             if(kargs->uplo == clblasLower)
             {
-                strcat( buildOptStr, " -DHERK_LOWER_TRIANGLE");
+                addBuildOpt( buildOptStr, BUILD_OPTS_MAXLEN, "-DHERK_LOWER_TRIANGLE");
             }
             else if(kargs->uplo == clblasUpper)
             {
-                strcat( buildOptStr, " -DHERK_UPPER_TRIANGLE");
+                addBuildOpt( buildOptStr, BUILD_OPTS_MAXLEN, "-DHERK_UPPER_TRIANGLE");
             }
             break;
 
diff --git a/src/library/blas/gens/gemm_tail_cached.cpp b/src/library/blas/gens/gemm_tail_cached.cpp
index ea79249..ff144af 100644
--- a/src/library/blas/gens/gemm_tail_cached.cpp
+++ b/src/library/blas/gens/gemm_tail_cached.cpp
@@ -96,10 +96,10 @@ setBuildOpts(
     const CLBlasKargs *kargs = (const CLBlasKargs *)(&step->args);
     KernelExtraFlags kflags = step->extraFlags;
 
-	strcat(buildOptStr, " -DTAIL_RUN -DM_TAIL_PRESENT -DN_TAIL_PRESENT ");
+	addBuildOpt( buildOptStr, BUILD_OPTS_MAXLEN, "-DTAIL_RUN -DM_TAIL_PRESENT -DN_TAIL_PRESENT");
     if ( kargs->dtype == TYPE_DOUBLE || kargs->dtype == TYPE_COMPLEX_DOUBLE)
     {
-        strcat( buildOptStr, " -DDOUBLE_PRECISION ");
+        addBuildOpt( buildOptStr, BUILD_OPTS_MAXLEN, "-DDOUBLE_PRECISION");
         #ifdef DEBUG_GEMM_TAIL
         printf("Setting build options ... Double... for DOUBLE PRECISION support\n");
         #endif
@@ -107,16 +107,16 @@ setBuildOpts(
 
     if (isComplexType(kargs->dtype))
     {
-        strcat(buildOptStr, " -DCOMPLEX ");
+        addBuildOpt( buildOptStr, BUILD_OPTS_MAXLEN, "-DCOMPLEX");
     }
 
     if (kflags & KEXTRA_CONJUGATE_A)
     {
-        strcat( buildOptStr, " -DCONJUGATE_A ");
-}
+        addBuildOpt( buildOptStr, BUILD_OPTS_MAXLEN, "-DCONJUGATE_A");
+    }
     if (kflags & KEXTRA_CONJUGATE_B)
     {
-        strcat( buildOptStr, " -DCONJUGATE_B ");
+        addBuildOpt( buildOptStr, BUILD_OPTS_MAXLEN, "-DCONJUGATE_B");
     }
 
 
@@ -127,14 +127,14 @@ setBuildOpts(
             break;
 
         case CLBLAS_HERK:
-            strcat( buildOptStr, " -DHERK");
+            addBuildOpt( buildOptStr, BUILD_OPTS_MAXLEN, "-DHERK");
             if(kargs->uplo == clblasLower)
             {
-                strcat( buildOptStr, " -DHERK_LOWER_TRIANGLE");
+                addBuildOpt( buildOptStr, BUILD_OPTS_MAXLEN, "-DHERK_LOWER_TRIANGLE");
             }
             else if(kargs->uplo == clblasUpper)
             {
-                strcat( buildOptStr, " -DHERK_UPPER_TRIANGLE");
+                addBuildOpt( buildOptStr, BUILD_OPTS_MAXLEN, "-DHERK_UPPER_TRIANGLE");
             }
             break;
 
@@ -147,33 +147,34 @@ setBuildOpts(
             #endif
             if (kargs->side == clblasLeft)
             {
-                strcat (buildOptStr, " -D__SYMM_LEFT__ ");
+                addBuildOpt( buildOptStr, BUILD_OPTS_MAXLEN, "-D__SYMM_LEFT__");
             }
             if (kargs->side == clblasRight)
             {
-                strcat (buildOptStr, " -D__SYMM_RIGHT__ ");
+                addBuildOpt( buildOptStr, BUILD_OPTS_MAXLEN, "-D__SYMM_RIGHT__");
             }
             if (kargs->uplo == clblasLower)
             {
-                strcat(buildOptStr, " -D__SYMM_LOWER__ ");
+                addBuildOpt( buildOptStr, BUILD_OPTS_MAXLEN, "-D__SYMM_LOWER__");
             }
             if (kargs->uplo == clblasUpper)
             {
-                strcat(buildOptStr, " -D__SYMM_UPPER__ ");
+                addBuildOpt( buildOptStr, BUILD_OPTS_MAXLEN, "-D__SYMM_UPPER__");
             }
+            // Define the order for Legacy sake.
             if (kargs->order == clblasColumnMajor)
             {
-                strcat(buildOptStr, " -D__SYMM_COLMAJOR__ ");
+                addBuildOpt( buildOptStr, BUILD_OPTS_MAXLEN, "-D__SYMM_COLMAJOR__");
             } else {
-                strcat(buildOptStr, " -D__SYMM_ROWMAJOR__ ");
+                addBuildOpt( buildOptStr, BUILD_OPTS_MAXLEN, "-D__SYMM_ROWMAJOR__");
             }
-            if ((kargs->pigFuncID == CLBLAS_SYMM_DIAGONAL)  || (kargs->pigFuncID == CLBLAS_HEMM_DIAGONAL))
+            if ((kargs->pigFuncID == CLBLAS_SYMM_DIAGONAL) || (kargs->pigFuncID == CLBLAS_HEMM_DIAGONAL))
             {
-                strcat(buildOptStr, " -D__SYMM_DIAGONAL__ ");
+                addBuildOpt( buildOptStr, BUILD_OPTS_MAXLEN, "-D__SYMM_DIAGONAL__");
             }
             if (kargs->pigFuncID == CLBLAS_HEMM_DIAGONAL)
             {
-                strcat(buildOptStr, " -D__HEMM__ ");
+                addBuildOpt( buildOptStr, BUILD_OPTS_MAXLEN, "-D__HEMM__");
             }
             break;
 
diff --git a/src/library/blas/gens/ger_lds.cpp b/src/library/blas/gens/ger_lds.cpp
index ebcd577..f72d197 100644
--- a/src/library/blas/gens/ger_lds.cpp
+++ b/src/library/blas/gens/ger_lds.cpp
@@ -137,7 +137,7 @@ setBuildOpts(
     const CLBlasKargs *kargs = (const CLBlasKargs *)(&step->args);
 	if ( kargs->dtype == TYPE_DOUBLE || kargs->dtype == TYPE_COMPLEX_DOUBLE)
 	{
-		strcat( buildOptStr, " -DDOUBLE_PRECISION ");
+		addBuildOpt( buildOptStr, BUILD_OPTS_MAXLEN, "-DDOUBLE_PRECISION");
 
 		#ifdef DEBUG_GER
 		printf("Setting build options ... Double... for DOUBLE PRECISION support\n");
diff --git a/src/library/blas/gens/her2_lds.cpp b/src/library/blas/gens/her2_lds.cpp
index e724f11..5adda19 100644
--- a/src/library/blas/gens/her2_lds.cpp
+++ b/src/library/blas/gens/her2_lds.cpp
@@ -139,25 +139,25 @@ setBuildOpts(
     const CLBlasKargs *kargs = (const CLBlasKargs *)(&step->args);
 	if ( kargs->dtype == TYPE_COMPLEX_DOUBLE )
 	{
-		strcat( buildOptStr, " -DDOUBLE_PRECISION ");
+		addBuildOpt( buildOptStr, BUILD_OPTS_MAXLEN, "-DDOUBLE_PRECISION");
 		#ifdef DEBUG_HER2
 		printf("Setting build options ... Double... for DOUBLE PRECISION support\n");
 		#endif
 	}
 	if( kargs->order == clblasRowMajor )
 	{
-		strcat( buildOptStr, " -DHER2_ROWMAJOR ");
+		addBuildOpt( buildOptStr, BUILD_OPTS_MAXLEN, "-DHER2_ROWMAJOR");
 		#ifdef DEBUG_HER2
 		printf("Setting build options ... HERMITIAN2_ROWMAJOR... for row-major support\n");
 		#endif
 	}
     if( kargs->pigFuncID == CLBLAS_HPR2 )
     {
-        strcat( buildOptStr, " -DPACKED ");
+        addBuildOpt( buildOptStr, BUILD_OPTS_MAXLEN, "-DPACKED");
     }
 
 	//Build options for syr2_her2.clT to generate HER2 related code.
-	strcat( buildOptStr, " -DHER2_ONLY ");
+	addBuildOpt( buildOptStr, BUILD_OPTS_MAXLEN, "-DHER2_ONLY");
 	return;
 }
 
diff --git a/src/library/blas/gens/her_lds.cpp b/src/library/blas/gens/her_lds.cpp
index 6b489cf..1a8365f 100644
--- a/src/library/blas/gens/her_lds.cpp
+++ b/src/library/blas/gens/her_lds.cpp
@@ -139,25 +139,25 @@ setBuildOpts(
     const CLBlasKargs *kargs = (const CLBlasKargs *)(&step->args);
 	if ( kargs->dtype == TYPE_COMPLEX_DOUBLE )
 	{
-		strcat( buildOptStr, " -DDOUBLE_PRECISION ");
+		addBuildOpt( buildOptStr, BUILD_OPTS_MAXLEN, "-DDOUBLE_PRECISION");
 		#ifdef DEBUG_HER
 		printf("Setting build options ... Double... for DOUBLE PRECISION support\n");
 		#endif
 	}
 	if( kargs->order == clblasRowMajor )
 	{
-		strcat( buildOptStr, " -DHERMITIAN_ROWMAJOR ");
+		addBuildOpt( buildOptStr, BUILD_OPTS_MAXLEN, "-DHERMITIAN_ROWMAJOR");
 		#ifdef DEBUG_HER
 		printf("Setting build options ... HERMITIAN_ROWMAJOR... for row-major support\n");
 		#endif
 	}
     if( kargs->pigFuncID == CLBLAS_HPR )
     {
-        strcat( buildOptStr, " -DPACKED ");
+        addBuildOpt( buildOptStr, BUILD_OPTS_MAXLEN, "-DPACKED");
     }
 
 	//Build options for syr_her.clT to generate HER related code.
-	strcat( buildOptStr, " -DHER_ONLY ");
+	addBuildOpt( buildOptStr, BUILD_OPTS_MAXLEN, "-DHER_ONLY");
 	return;
 }
 
diff --git a/src/library/blas/gens/iamax.cpp b/src/library/blas/gens/iamax.cpp
index bf20afd..7a5966d 100644
--- a/src/library/blas/gens/iamax.cpp
+++ b/src/library/blas/gens/iamax.cpp
@@ -124,7 +124,7 @@ setBuildOpts(
     const CLBlasKargs *kargs = (const CLBlasKargs *)(&step->args);
 	if ( kargs->dtype == TYPE_DOUBLE || kargs->dtype == TYPE_COMPLEX_DOUBLE)
 	{
-		strcat( buildOptStr, " -DDOUBLE_PRECISION ");
+		addBuildOpt( buildOptStr, BUILD_OPTS_MAXLEN, "-DDOUBLE_PRECISION");
 		#ifdef DEBUG_AMAX
 		printf("Setting build options ... Double... for DOUBLE PRECISION support\n");
 		#endif
@@ -132,17 +132,17 @@ setBuildOpts(
 
     if( (kargs->ldb.vector) != 1)
     {
-        strcat( buildOptStr, " -DINCX_NONUNITY ");
+        addBuildOpt( buildOptStr, BUILD_OPTS_MAXLEN, "-DINCX_NONUNITY");
     }
 
     if( (kargs->ldb.vector) < 1)
     {
-        strcat( buildOptStr, " -DRETURN_ON_INVALID ");
+        addBuildOpt( buildOptStr, BUILD_OPTS_MAXLEN, "-DRETURN_ON_INVALID");
     }
 
     if( (kargs->redctnType == REDUCE_MAX_WITH_INDEX_ATOMICS))
     {
-        strcat( buildOptStr, " -DREDUCE_MAX_WITH_INDEX_ATOMICS ");
+        addBuildOpt( buildOptStr, BUILD_OPTS_MAXLEN, "-DREDUCE_MAX_WITH_INDEX_ATOMICS");
     }
 
 	return;
diff --git a/src/library/blas/gens/nrm2.cpp b/src/library/blas/gens/nrm2.cpp
index 832f5e4..d898ffb 100644
--- a/src/library/blas/gens/nrm2.cpp
+++ b/src/library/blas/gens/nrm2.cpp
@@ -128,22 +128,22 @@ setBuildOpts(
     const CLBlasKargs *kargs = (const CLBlasKargs *)(&step->args);
 	if ( kargs->dtype == TYPE_DOUBLE || kargs->dtype == TYPE_COMPLEX_DOUBLE)
 	{
-		strcat( buildOptStr, " -DDOUBLE_PRECISION ");
+		addBuildOpt( buildOptStr, BUILD_OPTS_MAXLEN, "-DDOUBLE_PRECISION");
 	}
     if( (kargs->dtype == TYPE_COMPLEX_FLOAT) || (kargs->dtype == TYPE_COMPLEX_DOUBLE) ) {
-        strcat( buildOptStr, " -DCOMPLEX ");
+        addBuildOpt( buildOptStr, BUILD_OPTS_MAXLEN, "-DCOMPLEX");
     }
     if(kargs->redctnType == REDUCE_BY_HYPOT) {
-            strcat( buildOptStr, "-DUSE_HYPOT ");
+            addBuildOpt( buildOptStr, BUILD_OPTS_MAXLEN, "-DUSE_HYPOT");
     } else if(kargs->redctnType == REDUCE_BY_SSQ) {
-            strcat( buildOptStr, " -DUSE_SSQ ");
+            addBuildOpt( buildOptStr, BUILD_OPTS_MAXLEN, "-DUSE_SSQ");
     }
 
     if( (kargs->ldb.vector) != 1) {
-        strcat( buildOptStr, " -DINCX_NONUNITY ");
+        addBuildOpt( buildOptStr, BUILD_OPTS_MAXLEN, "-DINCX_NONUNITY");
     }
     if( (kargs->ldb.vector) < 1) {
-        strcat( buildOptStr, " -DRETURN_ON_INVALID");
+        addBuildOpt( buildOptStr, BUILD_OPTS_MAXLEN, "-DRETURN_ON_INVALID");
     }
 	return;
 }
diff --git a/src/library/blas/gens/reduction.cpp b/src/library/blas/gens/reduction.cpp
index 1c81c0b..5c00528 100644
--- a/src/library/blas/gens/reduction.cpp
+++ b/src/library/blas/gens/reduction.cpp
@@ -130,29 +130,29 @@ setBuildOpts(
     const CLBlasKargs *kargs = (const CLBlasKargs *)(&step->args);
 	if ( kargs->dtype == TYPE_DOUBLE || kargs->dtype == TYPE_COMPLEX_DOUBLE)
 	{
-		strcat( buildOptStr, " -DDOUBLE_PRECISION ");
+		addBuildOpt( buildOptStr, BUILD_OPTS_MAXLEN, "-DDOUBLE_PRECISION");
 	}
     switch(kargs->redctnType)
     {
-        case REDUCE_BY_SUM:                 strcat( buildOptStr, "-DREDUCE_BY_SUM ");
+        case REDUCE_BY_SUM:                 addBuildOpt( buildOptStr, BUILD_OPTS_MAXLEN, "-DREDUCE_BY_SUM");
                                             break;
 
-        case REDUCE_BY_MAX:                 strcat( buildOptStr, "-DREDUCE_BY_MAX ");
+        case REDUCE_BY_MAX:                 addBuildOpt( buildOptStr, BUILD_OPTS_MAXLEN, "-DREDUCE_BY_MAX");
                                             break;
 
-        case REDUCE_BY_MIN:                 strcat( buildOptStr, "-DREDUCE_BY_MIN ");
+        case REDUCE_BY_MIN:                 addBuildOpt( buildOptStr, BUILD_OPTS_MAXLEN, "-DREDUCE_BY_MIN");
                                             break;
 
-        case REDUCE_MAX_WITH_INDEX:         strcat( buildOptStr, "-DREDUCE_MAX_WITH_INDEX ");
+        case REDUCE_MAX_WITH_INDEX:         addBuildOpt( buildOptStr, BUILD_OPTS_MAXLEN, "-DREDUCE_MAX_WITH_INDEX");
                                             break;
 
-        case REDUCE_BY_HYPOT:               strcat( buildOptStr, "-DREDUCE_BY_HYPOT ");
+        case REDUCE_BY_HYPOT:               addBuildOpt( buildOptStr, BUILD_OPTS_MAXLEN, "-DREDUCE_BY_HYPOT");
                                             break;
 
-        case REDUCE_BY_SSQ:                 strcat( buildOptStr, "-DREDUCE_BY_SSQ ");
+        case REDUCE_BY_SSQ:                 addBuildOpt( buildOptStr, BUILD_OPTS_MAXLEN, "-DREDUCE_BY_SSQ");
                                             break;
 
-        case REDUCE_MAX_WITH_INDEX_ATOMICS: strcat( buildOptStr, "-DREDUCE_MAX_WITH_INDEX_ATOMICS ");
+        case REDUCE_MAX_WITH_INDEX_ATOMICS: addBuildOpt( buildOptStr, BUILD_OPTS_MAXLEN, "-DREDUCE_MAX_WITH_INDEX_ATOMICS");
                                             break;
 
         default:                            printf("Invalid reduction type!!\n");
diff --git a/src/library/blas/gens/rotg_reg.cpp b/src/library/blas/gens/rotg_reg.cpp
index 0ec1eb0..4d1ded1 100644
--- a/src/library/blas/gens/rotg_reg.cpp
+++ b/src/library/blas/gens/rotg_reg.cpp
@@ -98,10 +98,10 @@ setBuildOpts(
 	const SolutionStep *step = (const SolutionStep *)args;
     const CLBlasKargs *kargs = (const CLBlasKargs *)(&step->args);
 	if ( (kargs->dtype == TYPE_DOUBLE) || (kargs->dtype == TYPE_COMPLEX_DOUBLE) ) {
-		strcat( buildOptStr, " -DDOUBLE_PRECISION ");
+		addBuildOpt( buildOptStr, BUILD_OPTS_MAXLEN, "-DDOUBLE_PRECISION");
 	}
 	if( (kargs->dtype == TYPE_COMPLEX_FLOAT) || (kargs->dtype == TYPE_COMPLEX_DOUBLE) ) {
-	    strcat( buildOptStr, " -DCOMPLEX ");
+	    addBuildOpt( buildOptStr, BUILD_OPTS_MAXLEN, "-DCOMPLEX");
 	}
 
 	return;
diff --git a/src/library/blas/gens/rotm_reg.cpp b/src/library/blas/gens/rotm_reg.cpp
index 2b04419..2b87507 100644
--- a/src/library/blas/gens/rotm_reg.cpp
+++ b/src/library/blas/gens/rotm_reg.cpp
@@ -121,17 +121,17 @@ setBuildOpts(
     const CLBlasKargs *kargs = (const CLBlasKargs *)(&step->args);
 	if ( kargs->dtype == TYPE_DOUBLE || kargs->dtype == TYPE_COMPLEX_DOUBLE)
 	{
-		strcat( buildOptStr, " -DDOUBLE_PRECISION ");
+		addBuildOpt( buildOptStr, BUILD_OPTS_MAXLEN, "-DDOUBLE_PRECISION");
 	}
 	if(kargs->pigFuncID == CLBLAS_ROT)
 	{
-	    strcat( buildOptStr, " -DDO_ROT ");
+	    addBuildOpt( buildOptStr, BUILD_OPTS_MAXLEN, "-DDO_ROT");
 	}
 	if( (kargs->ldb.vector) != 1) {
-        strcat( buildOptStr, " -DINCX_NONUNITY ");
+        addBuildOpt( buildOptStr, BUILD_OPTS_MAXLEN, "-DINCX_NONUNITY");
     }
     if( (kargs->ldc.vector) != 1) {
-        strcat( buildOptStr, " -DINCY_NONUNITY ");
+        addBuildOpt( buildOptStr, BUILD_OPTS_MAXLEN, "-DINCY_NONUNITY");
     }
 
 	return;
diff --git a/src/library/blas/gens/rotmg_reg.cpp b/src/library/blas/gens/rotmg_reg.cpp
index b256ac6..be62004 100644
--- a/src/library/blas/gens/rotmg_reg.cpp
+++ b/src/library/blas/gens/rotmg_reg.cpp
@@ -97,7 +97,7 @@ setBuildOpts(
     const CLBlasKargs *kargs = (const CLBlasKargs *)(&step->args);
 	if ( kargs->dtype == TYPE_DOUBLE || kargs->dtype == TYPE_COMPLEX_DOUBLE)
 	{
-		strcat( buildOptStr, " -DDOUBLE_PRECISION ");
+		addBuildOpt( buildOptStr, BUILD_OPTS_MAXLEN, "-DCOMPLEX");
 	}
 
 	return;
diff --git a/src/library/blas/gens/scal_reg.cpp b/src/library/blas/gens/scal_reg.cpp
index d82362b..8b85310 100644
--- a/src/library/blas/gens/scal_reg.cpp
+++ b/src/library/blas/gens/scal_reg.cpp
@@ -125,13 +125,13 @@ setBuildOpts(
     const CLBlasKargs *kargs = (const CLBlasKargs *)(&step->args);
 	if ( kargs->dtype == TYPE_DOUBLE || kargs->dtype == TYPE_COMPLEX_DOUBLE)
 	{
-		strcat( buildOptStr, " -DDOUBLE_PRECISION ");
+		addBuildOpt( buildOptStr, BUILD_OPTS_MAXLEN, "-DDOUBLE_PRECISION");
 		#ifdef DEBUG_SCAL
 		printf("Setting build options ... Double... for DOUBLE PRECISION support\n");
 		#endif
 	}
 	if( (kargs->ldb.vector) != 1) {
-        strcat( buildOptStr, " -DINCX_NONUNITY ");
+        addBuildOpt( buildOptStr, BUILD_OPTS_MAXLEN, "-DINCX_NONUNITY");
     }
 
 	return;
diff --git a/src/library/blas/gens/swap_reg.cpp b/src/library/blas/gens/swap_reg.cpp
index 5b44ceb..b75e100 100644
--- a/src/library/blas/gens/swap_reg.cpp
+++ b/src/library/blas/gens/swap_reg.cpp
@@ -125,16 +125,16 @@ setBuildOpts(
     const CLBlasKargs *kargs = (const CLBlasKargs *)(&step->args);
 	if ( kargs->dtype == TYPE_DOUBLE || kargs->dtype == TYPE_COMPLEX_DOUBLE)
 	{
-		strcat( buildOptStr, " -DDOUBLE_PRECISION ");
+		addBuildOpt( buildOptStr, BUILD_OPTS_MAXLEN, "-DDOUBLE_PRECISION");
 		#ifdef DEBUG_SWAP
 		printf("Setting build options ... Double... for DOUBLE PRECISION support\n");
 		#endif
 	}
 	if( (kargs->ldb.vector) != 1) {
-        strcat( buildOptStr, " -DINCX_NONUNITY ");
+        addBuildOpt( buildOptStr, BUILD_OPTS_MAXLEN, "-DINCX_NONUNITY");
     }
     if( (kargs->ldc.vector) != 1) {
-        strcat( buildOptStr, " -DINCY_NONUNITY ");
+        addBuildOpt( buildOptStr, BUILD_OPTS_MAXLEN, "-DINCY_NONUNITY");
     }
 
 	return;
diff --git a/src/library/blas/gens/symm_cached.cpp b/src/library/blas/gens/symm_cached.cpp
index 4001182..0d9ea8d 100644
--- a/src/library/blas/gens/symm_cached.cpp
+++ b/src/library/blas/gens/symm_cached.cpp
@@ -99,7 +99,7 @@ setBuildOpts(
 
     if ( kargs->dtype == TYPE_DOUBLE || kargs->dtype == TYPE_COMPLEX_DOUBLE)
     {
-        strcat( buildOptStr, " -DDOUBLE_PRECISION ");
+        addBuildOpt( buildOptStr, BUILD_OPTS_MAXLEN, "-DDOUBLE_PRECISION");
         #ifdef DEBUG_TRMV
         printf("Setting build options ... Double... for DOUBLE PRECISION support\n");
         #endif
@@ -107,23 +107,23 @@ setBuildOpts(
 
 	if (kargs->side == clblasLeft)
 	{
-		strcat(buildOptStr, " -D__SYMM_LEFT__ ");
+		addBuildOpt( buildOptStr, BUILD_OPTS_MAXLEN, "-D__SYMM_LEFT__ ");
 	} else {
-		strcat(buildOptStr, " -D__SYMM_RIGHT__ ");
+		addBuildOpt( buildOptStr, BUILD_OPTS_MAXLEN, "-D__SYMM_RIGHT__");
 	}
 
 	if (kargs->uplo == clblasUpper)
 	{
-		strcat(buildOptStr, " -D__SYMM_UPPER__ ");
+		addBuildOpt( buildOptStr, BUILD_OPTS_MAXLEN, "-D__SYMM_UPPER__");
 	} else {
-		strcat(buildOptStr, " -D__SYMM_LOWER__ ");
+		addBuildOpt( buildOptStr, BUILD_OPTS_MAXLEN, "-D__SYMM_LOWER__");
 	}
 
 	if (kargs->order == clblasColumnMajor)
 	{
-		strcat(buildOptStr, " -D__SYMM_COLMAJOR__ ");
+		addBuildOpt( buildOptStr, BUILD_OPTS_MAXLEN, "-D__SYMM_COLMAJOR__");
 	} else {
-		strcat(buildOptStr, " -D__SYMM_ROWMAJOR__ ");
+		addBuildOpt( buildOptStr, BUILD_OPTS_MAXLEN, "-D__SYMM_ROWMAJOR__");
 	}
 
 	strcat(buildOptStr, " -cl-mad-enable ");
diff --git a/src/library/blas/gens/syr2_lds.cpp b/src/library/blas/gens/syr2_lds.cpp
index 4abb4ad..f5c20cb 100644
--- a/src/library/blas/gens/syr2_lds.cpp
+++ b/src/library/blas/gens/syr2_lds.cpp
@@ -139,14 +139,14 @@ setBuildOpts(
     const CLBlasKargs *kargs = (const CLBlasKargs *)(&step->args);
 	if ( kargs->dtype == TYPE_DOUBLE )
 	{
-		strcat( buildOptStr, " -DDOUBLE_PRECISION ");
+		addBuildOpt( buildOptStr, BUILD_OPTS_MAXLEN, "-DDOUBLE_PRECISION");
 		#ifdef DEBUG_SYR2
 		printf("Setting build options ... Double... for DOUBLE PRECISION support\n");
 		#endif
 	}
     if( kargs->pigFuncID == CLBLAS_SPR2 )
     {
-        strcat( buildOptStr, " -DPACKED ");
+        addBuildOpt( buildOptStr, BUILD_OPTS_MAXLEN, "-DPACKED");
     }
 
 	return;
diff --git a/src/library/blas/gens/syr_lds.cpp b/src/library/blas/gens/syr_lds.cpp
index 2379a6b..16911bb 100644
--- a/src/library/blas/gens/syr_lds.cpp
+++ b/src/library/blas/gens/syr_lds.cpp
@@ -142,14 +142,14 @@ setBuildOpts(
     const CLBlasKargs *kargs = (const CLBlasKargs *)(&step->args);
 	if ( kargs->dtype == TYPE_DOUBLE )
 	{
-		strcat( buildOptStr, " -DDOUBLE_PRECISION ");
+		addBuildOpt( buildOptStr, BUILD_OPTS_MAXLEN, "-DDOUBLE_PRECISION");
 		#ifdef DEBUG_SYR
 		printf("Setting build options ... Double... for DOUBLE PRECISION support\n");
 		#endif
 	}
     if( kargs->pigFuncID == CLBLAS_SPR )
     {
-        strcat( buildOptStr, " -DPACKED ");
+        addBuildOpt( buildOptStr, BUILD_OPTS_MAXLEN, "-DPACKED");
     }
 
 	return;
diff --git a/src/library/blas/gens/trmv_reg.cpp b/src/library/blas/gens/trmv_reg.cpp
index 25e750e..9cacd0f 100644
--- a/src/library/blas/gens/trmv_reg.cpp
+++ b/src/library/blas/gens/trmv_reg.cpp
@@ -136,28 +136,28 @@ setBuildOpts(
     const CLBlasKargs *kargs = (const CLBlasKargs *)(&step->args);
 	if ( kargs->dtype == TYPE_DOUBLE || kargs->dtype == TYPE_COMPLEX_DOUBLE)
 	{
-		strcat( buildOptStr, " -DDOUBLE_PRECISION ");
+		addBuildOpt( buildOptStr, BUILD_OPTS_MAXLEN, "-DDOUBLE_PRECISION");
 		#ifdef DEBUG_TRMV
 		printf("Setting build options ... Double... for DOUBLE PRECISION support\n");
 		#endif
 	}
     if( (step->funcID == CLBLAS_HEMV) || (kargs->pigFuncID == CLBLAS_HPMV) || (kargs->pigFuncID == CLBLAS_SPMV) )
 	{
-		strcat( buildOptStr, " -DHEMV_ONLY ");
+		addBuildOpt( buildOptStr, BUILD_OPTS_MAXLEN, "-DHEMV_ONLY");
 		/*
 		if(kargs->diag == clblasUnit)
 		{
-			strcat( buildOptStr, " -DHEMV_ZERO_DIAG ");
+			addBuildOpt( buildOptStr, BUILD_OPTS_MAXLEN, "-DHEMV_ZERO_DIAG");
 		}
 		*/
 	}
     if ( kargs->pigFuncID == CLBLAS_SPMV )
     {
-        strcat( buildOptStr, " -DSPMV_ONLY ");
+        addBuildOpt( buildOptStr, BUILD_OPTS_MAXLEN, "-DSPMV_ONLY");
     }
     if( (kargs->pigFuncID == CLBLAS_TPMV) || (kargs->pigFuncID == CLBLAS_HPMV) || (kargs->pigFuncID == CLBLAS_SPMV) )
     {
-        strcat( buildOptStr, " -DPACKED ");
+        addBuildOpt( buildOptStr, BUILD_OPTS_MAXLEN, "-DPACKED");
     }
 
 	return;
diff --git a/src/library/blas/gens/trsv_gemv.cpp b/src/library/blas/gens/trsv_gemv.cpp
index 5047bf1..ca73fbe 100644
--- a/src/library/blas/gens/trsv_gemv.cpp
+++ b/src/library/blas/gens/trsv_gemv.cpp
@@ -128,14 +128,14 @@ setBuildOpts(
     const CLBlasKargs *kargs = (const CLBlasKargs *)(&step->args);
 	if ( kargs->dtype == TYPE_DOUBLE || kargs->dtype == TYPE_COMPLEX_DOUBLE)
 	{
-		strcat( buildOptStr, " -DDOUBLE_PRECISION ");
+		addBuildOpt( buildOptStr, BUILD_OPTS_MAXLEN, "-DDOUBLE_PRECISION");
 		#ifdef DEBUG_TRSV_GEMV
 		printf("TRSV GEMV: Setting build options ... Double... for DOUBLE PRECISION support\n");
 		#endif
 	}
     if( kargs->pigFuncID == CLBLAS_TPSV)
     {
-        strcat( buildOptStr, " -DPACKED ");
+        addBuildOpt( buildOptStr, BUILD_OPTS_MAXLEN, "-DPACKED");
         #ifdef DEBUG_TRSV_GEMV
             printf("TPSV GEMV: Setting build options ... PACKED\n");
         #endif
diff --git a/src/library/blas/gens/trsv_trtri.cpp b/src/library/blas/gens/trsv_trtri.cpp
index 071565f..0bae0f9 100644
--- a/src/library/blas/gens/trsv_trtri.cpp
+++ b/src/library/blas/gens/trsv_trtri.cpp
@@ -128,21 +128,21 @@ setBuildOpts(
     const CLBlasKargs *kargs = (const CLBlasKargs *)(&step->args);
     if ( kargs->dtype == TYPE_DOUBLE || kargs->dtype == TYPE_COMPLEX_DOUBLE)
     {
-        strcat( buildOptStr, " -DDOUBLE_PRECISION ");
+        addBuildOpt( buildOptStr, BUILD_OPTS_MAXLEN, "-DDOUBLE_PRECISION");
         #ifdef DEBUG_TRSV_TRTRI
         printf("TRSV TRTRI: Setting build options ... Double... for DOUBLE PRECISION support\n");
         #endif
     }
     if( kargs->pigFuncID == CLBLAS_TPSV)
     {
-        strcat( buildOptStr, " -DPACKED ");
+        addBuildOpt( buildOptStr, BUILD_OPTS_MAXLEN, "-DPACKED");
         #ifdef DEBUG_TRSV_TRTRI
             printf("TPSV TRTRI: Setting build options ... PACKED\n");
         #endif
     }
     if( kargs->pigFuncID == CLBLAS_TBSV)
     {
-        strcat( buildOptStr, " -DBANDED ");
+        addBuildOpt( buildOptStr, BUILD_OPTS_MAXLEN, "-DBANDED");
         #ifdef DEBUG_TRSV_TRTRI
         printf("TBSV TRTRI: Setting build options .. BANDED\n");
         #endif

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debian-science/packages/clblas.git



More information about the debian-science-commits mailing list