Skip to content

Commit 3ba0af5

Browse files
committed
Fixed: Issue #39 mir-blas not parsing SDL
1 parent d2fbd3d commit 3ba0af5

File tree

2 files changed

+191
-1
lines changed

2 files changed

+191
-1
lines changed

dub_sdl_to_json/source/dub_sdl_to_json.d

Lines changed: 190 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -221,6 +221,15 @@ string stripComments(string str)
221221
while(i < length)
222222
{
223223
//Don't parse comments inside strings
224+
if(str[i] == '`')
225+
{
226+
size_t left = i;
227+
i++;
228+
while(i < length && str[i] != '`')
229+
i++;
230+
i++; //Skip '`'
231+
ret~= str[left..i];
232+
}
224233
if(str[i] == '"')
225234
{
226235
size_t left = i;
@@ -565,3 +574,184 @@ subPackage {
565574
ED";
566575
sdlToJSON(parseSDL(null, testSdl));
567576
}
577+
578+
579+
580+
unittest
581+
{
582+
enum testSdl =q"ED
583+
584+
configuration "mkl-tbb-thread" {
585+
lflags `/LIBPATH:\"C:\Program Files (x86)\IntelSWTools\compilers_and_libraries\windows\tbb\lib\ia32\vc_mt\"` platform="windows-x86-dmd"
586+
}
587+
588+
}
589+
ED";
590+
stripComments(testSdl);
591+
}
592+
593+
unittest
594+
{
595+
596+
enum testSdl = q"ED
597+
name "mir-blas"
598+
description "ndslice wrapper for BLAS"
599+
authors "Ilya Yaroshenko"
600+
copyright "Copyright © 2017-2018, Symmetry Investments & Kaleidic Associates"
601+
license "BSL-1.0"
602+
603+
dependency "cblas" version=">=2.0.4"
604+
dependency "mir-algorithm" version=">=2.0.0-beta2 <4.0.0"
605+
606+
configuration "library" {
607+
platforms "posix" "windows-x86_64" "windows-x86"
608+
609+
// Posix: "openblas" configuration
610+
611+
versions "OPENBLAS" platform="posix"
612+
libs "openblas" platform="posix"
613+
lflags "-L/opt/homebrew/opt/openblas/lib" platform="darwin"
614+
615+
// Windows: "mkl-sequential-ilp" configuration
616+
617+
versions "INTEL_MKL" "BLASNATIVEINT" "LAPACKNATIVEINT" platform="windows"
618+
619+
platforms "x86_64" "x86"
620+
libs "mkl_core" "mkl_sequential" "mkl_intel_c" platform="windows-x86"
621+
libs "mkl_core" "mkl_sequential" "mkl_intel_ilp64" platform="windows-x86_64"
622+
lflags `/LIBPATH:C:\Program Files (x86)\IntelSWTools\compilers_and_libraries\windows\mkl\lib\intel64` platform="windows-x86_64-ldc"
623+
lflags `/LIBPATH:C:\Program Files (x86)\IntelSWTools\compilers_and_libraries\windows\mkl\lib\ia32` platform="windows-x86-ldc"
624+
lflags `/LIBPATH:\"C:\Program Files (x86)\IntelSWTools\compilers_and_libraries\windows\mkl\lib\intel64\"` platform="windows-x86_64-dmd"
625+
lflags `/LIBPATH:\"C:\Program Files (x86)\IntelSWTools\compilers_and_libraries\windows\mkl\lib\ia32\"` platform="windows-x86-dmd"
626+
}
627+
628+
configuration "openblas" {
629+
versions "OPENBLAS"
630+
libs "openblas"
631+
lflags "-L/opt/homebrew/opt/openblas/lib" platform="darwin"
632+
}
633+
634+
configuration "blas" {
635+
libs "blas" # CBLAS API assumed to be in BLAS
636+
}
637+
638+
configuration "cblas" {
639+
libs "cblas" # BLAS API assumed to be in CBLAS
640+
}
641+
642+
configuration "twolib" {
643+
libs "blas" "cblas"
644+
}
645+
646+
configuration "zerolib" {
647+
systemDependencies "mir-blas configuration 'zerolib' requires user to specify libraries to link."
648+
}
649+
650+
configuration "mkl-sequential" {
651+
platforms "x86_64" "x86"
652+
versions "INTEL_MKL"
653+
libs "mkl_core" "mkl_sequential" "mkl_intel_c" platform="x86"
654+
libs "mkl_core" "mkl_sequential" "mkl_intel_lp64" platform="x86_64"
655+
lflags `/LIBPATH:C:\Program Files (x86)\IntelSWTools\compilers_and_libraries\windows\mkl\lib\intel64` platform="windows-x86_64-ldc"
656+
lflags `/LIBPATH:C:\Program Files (x86)\IntelSWTools\compilers_and_libraries\windows\mkl\lib\ia32` platform="windows-x86-ldc"
657+
lflags `/LIBPATH:\"C:\Program Files (x86)\IntelSWTools\compilers_and_libraries\windows\mkl\lib\intel64\"` platform="windows-x86_64-dmd"
658+
lflags `/LIBPATH:\"C:\Program Files (x86)\IntelSWTools\compilers_and_libraries\windows\mkl\lib\ia32\"` platform="windows-x86-dmd"
659+
}
660+
configuration "mkl-sequential-ilp" {
661+
platforms "x86_64" "x86"
662+
versions "INTEL_MKL" "BLASNATIVEINT" "LAPACKNATIVEINT"
663+
libs "mkl_core" "mkl_sequential" "mkl_intel_c" platform="x86"
664+
libs "mkl_core" "mkl_sequential" "mkl_intel_ilp64" platform="x86_64"
665+
lflags `/LIBPATH:C:\Program Files (x86)\IntelSWTools\compilers_and_libraries\windows\mkl\lib\intel64` platform="windows-x86_64-ldc"
666+
lflags `/LIBPATH:C:\Program Files (x86)\IntelSWTools\compilers_and_libraries\windows\mkl\lib\ia32` platform="windows-x86-ldc"
667+
lflags `/LIBPATH:\"C:\Program Files (x86)\IntelSWTools\compilers_and_libraries\windows\mkl\lib\intel64\"` platform="windows-x86_64-dmd"
668+
lflags `/LIBPATH:\"C:\Program Files (x86)\IntelSWTools\compilers_and_libraries\windows\mkl\lib\ia32\"` platform="windows-x86-dmd"
669+
}
670+
configuration "mkl-tbb-thread" {
671+
platforms "x86_64" "x86"
672+
versions "INTEL_MKL"
673+
libs "tbb" "mkl_core" "mkl_tbb_thread" "mkl_intel_c" platform="x86"
674+
libs "tbb" "mkl_core" "mkl_tbb_thread" "mkl_intel_lp64" platform="x86_64"
675+
lflags `/LIBPATH:C:\Program Files (x86)\IntelSWTools\compilers_and_libraries\windows\mkl\lib\intel64` platform="windows-x86_64-ldc"
676+
lflags `/LIBPATH:C:\Program Files (x86)\IntelSWTools\compilers_and_libraries\windows\mkl\lib\ia32` platform="windows-x86-ldc"
677+
lflags `/LIBPATH:\"C:\Program Files (x86)\IntelSWTools\compilers_and_libraries\windows\mkl\lib\intel64\"` platform="windows-x86_64-dmd"
678+
lflags `/LIBPATH:\"C:\Program Files (x86)\IntelSWTools\compilers_and_libraries\windows\mkl\lib\ia32\"` platform="windows-x86-dmd"
679+
lflags `/LIBPATH:C:\Program Files (x86)\IntelSWTools\compilers_and_libraries\windows\tbb\lib\intel64\vc_mt` platform="windows-x86_64-ldc"
680+
lflags `/LIBPATH:C:\Program Files (x86)\IntelSWTools\compilers_and_libraries\windows\tbb\lib\ia32\vc_mt` platform="windows-x86-ldc"
681+
lflags `/LIBPATH:\"C:\Program Files (x86)\IntelSWTools\compilers_and_libraries\windows\tbb\lib\intel64\vc_mt\"` platform="windows-x86_64-dmd"
682+
lflags `/LIBPATH:\"C:\Program Files (x86)\IntelSWTools\compilers_and_libraries\windows\tbb\lib\ia32\vc_mt\"` platform="windows-x86-dmd"
683+
copyFiles `C:\Program Files (x86)\IntelSWTools\compilers_and_libraries\windows\redist\intel64\tbb\vc_mt\tbb.dll` platform="windows-x86_64"
684+
copyFiles `C:\Program Files (x86)\IntelSWTools\compilers_and_libraries\windows\redist\ia32\tbb\vc_mt\tbb.dll` platform="windows-x86"
685+
}
686+
configuration "mkl-tbb-thread-ilp" {
687+
platforms "x86_64" "x86"
688+
versions "INTEL_MKL" "BLASNATIVEINT" "LAPACKNATIVEINT"
689+
libs "tbb" "mkl_core" "mkl_tbb_thread" "mkl_intel_c" platform="x86"
690+
libs "tbb" "mkl_core" "mkl_tbb_thread" "mkl_intel_ilp64" platform="x86_64"
691+
lflags `/LIBPATH:C:\Program Files (x86)\IntelSWTools\compilers_and_libraries\windows\mkl\lib\intel64` platform="windows-x86_64-ldc"
692+
lflags `/LIBPATH:C:\Program Files (x86)\IntelSWTools\compilers_and_libraries\windows\mkl\lib\ia32` platform="windows-x86-ldc"
693+
lflags `/LIBPATH:\"C:\Program Files (x86)\IntelSWTools\compilers_and_libraries\windows\mkl\lib\intel64\"` platform="windows-x86_64-dmd"
694+
lflags `/LIBPATH:\"C:\Program Files (x86)\IntelSWTools\compilers_and_libraries\windows\mkl\lib\ia32\"` platform="windows-x86-dmd"
695+
lflags `/LIBPATH:C:\Program Files (x86)\IntelSWTools\compilers_and_libraries\windows\tbb\lib\intel64\vc_mt` platform="windows-x86_64-ldc"
696+
lflags `/LIBPATH:C:\Program Files (x86)\IntelSWTools\compilers_and_libraries\windows\tbb\lib\ia32\vc_mt` platform="windows-x86-ldc"
697+
lflags `/LIBPATH:\"C:\Program Files (x86)\IntelSWTools\compilers_and_libraries\windows\tbb\lib\intel64\vc_mt\"` platform="windows-x86_64-dmd"
698+
lflags `/LIBPATH:\"C:\Program Files (x86)\IntelSWTools\compilers_and_libraries\windows\tbb\lib\ia32\vc_mt\"` platform="windows-x86-dmd"
699+
copyFiles `C:\Program Files (x86)\IntelSWTools\compilers_and_libraries\windows\redist\intel64\tbb\vc_mt\tbb.dll` platform="windows-x86_64"
700+
copyFiles `C:\Program Files (x86)\IntelSWTools\compilers_and_libraries\windows\redist\ia32\tbb\vc_mt\tbb.dll` platform="windows-x86"
701+
}
702+
configuration "mkl-sequential-dll" {
703+
platforms "x86_64" "x86"
704+
versions "INTEL_MKL"
705+
libs "mkl_core_dll" "mkl_sequential_dll" "mkl_intel_c_dll" platform="x86"
706+
libs "mkl_core_dll" "mkl_sequential_dll" "mkl_intel_lp64_dll" platform="x86_64"
707+
lflags `/LIBPATH:C:\Program Files (x86)\IntelSWTools\compilers_and_libraries\windows\mkl\lib\intel64` platform="windows-x86_64-ldc"
708+
lflags `/LIBPATH:C:\Program Files (x86)\IntelSWTools\compilers_and_libraries\windows\mkl\lib\ia32` platform="windows-x86-ldc"
709+
lflags `/LIBPATH:\"C:\Program Files (x86)\IntelSWTools\compilers_and_libraries\windows\mkl\lib\intel64\"` platform="windows-x86_64-dmd"
710+
lflags `/LIBPATH:\"C:\Program Files (x86)\IntelSWTools\compilers_and_libraries\windows\mkl\lib\ia32\"` platform="windows-x86-dmd"
711+
}
712+
configuration "mkl-sequential-ilp-dll" {
713+
platforms "x86_64" "x86"
714+
versions "INTEL_MKL" "BLASNATIVEINT" "LAPACKNATIVEINT"
715+
libs "mkl_core_dll" "mkl_sequential_dll" "mkl_intel_c_dll" platform="x86"
716+
libs "mkl_core_dll" "mkl_sequential_dll" "mkl_intel_ilp64_dll" platform="x86_64"
717+
lflags `/LIBPATH:C:\Program Files (x86)\IntelSWTools\compilers_and_libraries\windows\mkl\lib\intel64` platform="windows-x86_64-ldc"
718+
lflags `/LIBPATH:C:\Program Files (x86)\IntelSWTools\compilers_and_libraries\windows\mkl\lib\ia32` platform="windows-x86-ldc"
719+
lflags `/LIBPATH:\"C:\Program Files (x86)\IntelSWTools\compilers_and_libraries\windows\mkl\lib\intel64\"` platform="windows-x86_64-dmd"
720+
lflags `/LIBPATH:\"C:\Program Files (x86)\IntelSWTools\compilers_and_libraries\windows\mkl\lib\ia32\"` platform="windows-x86-dmd"
721+
}
722+
configuration "mkl-tbb-thread-dll" {
723+
platforms "x86_64" "x86"
724+
versions "INTEL_MKL"
725+
libs "tbb" "mkl_core_dll" "mkl_tbb_thread_dll" "mkl_intel_c_dll" platform="x86"
726+
libs "tbb" "mkl_core_dll" "mkl_tbb_thread_dll" "mkl_intel_lp64_dll" platform="x86_64"
727+
lflags `/LIBPATH:C:\Program Files (x86)\IntelSWTools\compilers_and_libraries\windows\mkl\lib\intel64` platform="windows-x86_64-ldc"
728+
lflags `/LIBPATH:C:\Program Files (x86)\IntelSWTools\compilers_and_libraries\windows\mkl\lib\ia32` platform="windows-x86-ldc"
729+
lflags `/LIBPATH:\"C:\Program Files (x86)\IntelSWTools\compilers_and_libraries\windows\mkl\lib\intel64\"` platform="windows-x86_64-dmd"
730+
lflags `/LIBPATH:\"C:\Program Files (x86)\IntelSWTools\compilers_and_libraries\windows\mkl\lib\ia32\"` platform="windows-x86-dmd"
731+
lflags `/LIBPATH:C:\Program Files (x86)\IntelSWTools\compilers_and_libraries\windows\tbb\lib\intel64\vc_mt` platform="windows-x86_64-ldc"
732+
lflags `/LIBPATH:C:\Program Files (x86)\IntelSWTools\compilers_and_libraries\windows\tbb\lib\ia32\vc_mt` platform="windows-x86-ldc"
733+
lflags `/LIBPATH:\"C:\Program Files (x86)\IntelSWTools\compilers_and_libraries\windows\tbb\lib\intel64\vc_mt\"` platform="windows-x86_64-dmd"
734+
lflags `/LIBPATH:\"C:\Program Files (x86)\IntelSWTools\compilers_and_libraries\windows\tbb\lib\ia32\vc_mt\"` platform="windows-x86-dmd"
735+
copyFiles `C:\Program Files (x86)\IntelSWTools\compilers_and_libraries\windows\redist\intel64\tbb\vc_mt\tbb.dll` platform="windows-x86_64"
736+
copyFiles `C:\Program Files (x86)\IntelSWTools\compilers_and_libraries\windows\redist\ia32\tbb\vc_mt\tbb.dll` platform="windows-x86"
737+
}
738+
configuration "mkl-tbb-thread-ilp-dll" {
739+
platforms "x86_64" "x86"
740+
versions "INTEL_MKL" "BLASNATIVEINT" "LAPACKNATIVEINT"
741+
libs "tbb" "mkl_core_dll" "mkl_tbb_thread_dll" "mkl_intel_c_dll" platform="x86"
742+
libs "tbb" "mkl_core_dll" "mkl_tbb_thread_dll" "mkl_intel_ilp64_dll" platform="x86_64"
743+
lflags `/LIBPATH:C:\Program Files (x86)\IntelSWTools\compilers_and_libraries\windows\mkl\lib\intel64` platform="windows-x86_64-ldc"
744+
lflags `/LIBPATH:C:\Program Files (x86)\IntelSWTools\compilers_and_libraries\windows\mkl\lib\ia32` platform="windows-x86-ldc"
745+
lflags `/LIBPATH:\"C:\Program Files (x86)\IntelSWTools\compilers_and_libraries\windows\mkl\lib\intel64\"` platform="windows-x86_64-dmd"
746+
lflags `/LIBPATH:\"C:\Program Files (x86)\IntelSWTools\compilers_and_libraries\windows\mkl\lib\ia32\"` platform="windows-x86-dmd"
747+
lflags `/LIBPATH:C:\Program Files (x86)\IntelSWTools\compilers_and_libraries\windows\tbb\lib\intel64\vc_mt` platform="windows-x86_64-ldc"
748+
lflags `/LIBPATH:C:\Program Files (x86)\IntelSWTools\compilers_and_libraries\windows\tbb\lib\ia32\vc_mt` platform="windows-x86-ldc"
749+
lflags `/LIBPATH:\"C:\Program Files (x86)\IntelSWTools\compilers_and_libraries\windows\tbb\lib\intel64\vc_mt\"` platform="windows-x86_64-dmd"
750+
lflags `/LIBPATH:\"C:\Program Files (x86)\IntelSWTools\compilers_and_libraries\windows\tbb\lib\ia32\vc_mt\"` platform="windows-x86-dmd"
751+
copyFiles `C:\Program Files (x86)\IntelSWTools\compilers_and_libraries\windows\redist\intel64\tbb\vc_mt\tbb.dll` platform="windows-x86_64"
752+
copyFiles `C:\Program Files (x86)\IntelSWTools\compilers_and_libraries\windows\redist\ia32\tbb\vc_mt\tbb.dll` platform="windows-x86"
753+
}
754+
ED";
755+
assert(!sdlToJSON(parseSDL(null ,testSdl)).hasErrorOccurred);
756+
757+
}

source/redub/buildapi.d

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ import redub.package_searching.api;
88

99

1010
///vX.X.X
11-
enum RedubVersionOnly = "v1.21.3";
11+
enum RedubVersionOnly = "v1.21.4";
1212
///Redub vX.X.X
1313
enum RedubVersionShort = "Redub "~RedubVersionOnly;
1414
///Redub vX.X.X - Description

0 commit comments

Comments
 (0)