-
Notifications
You must be signed in to change notification settings - Fork 14
/
ChangeLog
1168 lines (884 loc) · 42.6 KB
/
ChangeLog
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
2021-09-29 Shahzad Muzaffar <@smuzaffar>
V07-00-00 Same as V06-03-06 but created a new tag so that old release can
use V06-XX tags
2021-09-09 Shahzad Muzaffar <@smuzaffar>
V06-03-06 Rewrite the checks for the CUDA runtime compatibility
2021-09-02 Shahzad Muzaffar <@smuzaffar>
V06-03-05 In dev area, fail build on private header usage
2021-08-26 Shahzad Muzaffar <@smuzaffar>
V06-03-04 Remove debug messages
2021-08-19 Shahzad Muzaffar <@smuzaffar>
V06-03-02 Added private header usage check. For now just ignore such usage.
Once cmssw is clean of such errors then enable it.
V06-03-03 Added debug messages
2021-07-28 Shahzad Muzaffar <@smuzaffar>
V06-03-01 Fix proect rename/move issue
2021-07-18 Shahzad Muzaffar <@smuzaffar>
V06-03-00 Remove Perl dependency use python3 as default
2021-07-17 Shahzad Muzaffar <@smuzaffar>
V06-02-23 Use PY3_DXR
2021-07-09 Shahzad Muzaffar <@smuzaffar>
V06-02-22 set SCRAM_TEST_NAME, SCRAM_TEST_PATH, SCRAM_TEST_PACKAGE and
SCRAM_TEST_PRE_TEST env for each unit test.
Cleanup explicit python3 class to edm tools. tools has been fixed in
cmssw
2021-07-07 Shahzad Muzaffar <@smuzaffar>
V06-02-21 edm class transient checks to use python3
V06-02-20 edmWriteConfig is binary
V06-02-19 Use python3 for edm tools
2021-07-06 Shahzad Muzaffar <@smuzaffar>
V06-02-18 Update coral to set python3 paths
2021-07-04 Shahzad Muzaffar <@smuzaffar>
V06-02-17 Use python3 for boost serialization
2021-06-26 Shahzad Muzaffar <@smuzaffar>
V06-02-16 Added detect_odr_violation=0 to ASAN_OPTIONS
2021-06-22 Shahzad Muzaffar <@smuzaffar>
V06-02-15 Bug fix: properly handle EDM_PLUGIN=0 flags
2021-06-20 Shahzad Muzaffar <@smuzaffar>
V06-02-14 Add unit test time in the log
2021-06-16 Shahzad Muzaffar <@smuzaffar>
V06-02-13 Use shutil.move which works for cross-device
2021-06-11 Shahzad Muzaffar <@smuzaffar>
V06-02-12 Use python3 for scripts
2021-06-10 Shahzad Muzaffar <@smuzaffar>
V06-02-11 Do not persist SCRAM_NOEDM_CHECKS
2021-06-08 Shahzad Muzaffar <@smuzaffar>
V06-02-10 Do not run too many python threads for processing DXR files.
2021-06-04 Shahzad Muzaffar <@smuzaffar>
V06-02-09: Typo, fixed TSAN EDM_TOOLS_PREFIX issue
2021-06-03 Shahzad Muzaffar <@smuzaffar>
V06-02-07: More fixes for clang-tidy Notes Diagnostics
V06-02-08: Added use-ibeos run which should be used with runtests
so DAS queries and root files are picked up from IBEOS area.
2021-06-02 Shahzad Muzaffar <@smuzaffar>
V06-02-06: Fix code-checks rules
- Process all headers files for code-checks-all
- Fix clang-tidy apply script to make use of Notes Diagnostics
2021-05-31 Shahzad Muzaffar <@smuzaffar>
V06-02-05: Fix issue with newly added package compilation
2021-05-05 Shahzad Muzaffar <@smuzaffar>
V06-02-04 Fix biglib enable/disable rule. SCRAMV3 does not recognize
'#' as valid comment tag.
2021-05-03 Shahzad Muzaffar <@smuzaffar>
V06-02-03 Fix for recursive scram build for link externals
2021-05-01 Shahzad Muzaffar <@smuzaffar>
V06-02-01 Fix EDM_TOOL_PREFIX issue for SCRAM V3
V06-02-02 Fix lcgdict rules for CXXMODULE IBs
2021-04-07 Shahzad Muzaffar <@smuzaffar>
V06-02-00 Disable rootdict rule for LinkDef.h files. One should use
classes.h and classes_def.xml files for declaring dictionaries
2021-04-07 Shahzad Muzaffar <@smuzaffar>
V06-01-25 Added more targets matching set SCRAM_TARGET via Self.xml
2021-04-05 Shahzad Muzaffar <@smuzaffar>
V06-01-24 Fix for externals symlinks for multiple targets
2021-04-01 Shahzad Muzaffar <@smuzaffar>
V06-01-22 Create edmplug cache file for extra taregts
V06-01-23 Always use default target during build phase
2021-03-23 Shahzad Muzaffar <@smuzaffar>
V06-01-20 Use TARGETS keyword instead of VECTOR(IZE) for micro-
instructions set builds
V06-01-21 Added supported list of targets
2021-03-11 Shahzad Muzaffar <@smuzaffar>
V06-01-19 Fixes for vectorization e.g. reuse dd4hep components from
the default build.
2021-02-16 Shahzad Muzaffar <@smuzaffar>
V06-01-18 Make sure to set RuntimeCache.json to avoid recreation.
2021-02-11 Shahzad Muzaffar <@smuzaffar>
V06-01-17 Looks like setting LD_PRELOAD=libasan.so hangs a lot of
system commands. Revert the changes and explicitly set LD_PRELOAD
while running dd4hep and unit tests
2021-02-10 Shahzad Muzaffar <@smuzaffar>
V06-01-15 Set LD_PRELOAD for [A|UB|T|SAN IBs
V06-01-16 Set LD_PRELOAD for *SAN from gcc toolfile
2021-02-09 Shahzad Muzaffar <@smuzaffar>
V06-01-14 Remove GCC8 compiler condition for ASAN/UBSAN IBs
2021-02-08 Shahzad Muzaffar <@smuzaffar>
V06-01-13 Do not run dxr for generated genrated files
2021-02-01 Shahzad Muzaffar <@smuzaffar>
V06-01-12 Allow to override dd4hep listcomponents via toolfile flag
LISTCOMPONENTS
2021-01-21 Shahzad Muzaffar <@smuzaffar>
V06-01-11 use scram if SCRAM not set. set LC_ALL to avoid perl
warninsg on cc8
2021-01-11 Shahzad Muzaffar <@smuzaffar>
V06-01-10 Runtime hook updated to drop data externals for release
2020-10-19 Shahzad Muzaffar <@smuzaffar>
V06-01-08 Allow to provide flags for header checks use
HEADER_CHECKS flag in BuildFile
V06-01-09 Do not drop Optimization flags. GCC9 seems to work with
-Ox flags for header checks.
2020-10-19 Shahzad Muzaffar <@smuzaffar>
V06-01-07 Support haswell sandybridge nehalem vectorization.
Creat symlinks for under externals?arch/lib/<vectorization>
2020-09-29 Shahzad Muzaffar <@smuzaffar>
V06-01-06: For full build also remove externals/bin path
2020-09-28 Shahzad Muzaffar <@smuzaffar>
V06-01-05: Uses system cuda if system cuda version is >= cms cuda
2020-09-17 Shahzad Muzaffar <@smuzaffar>
V06-01-03: Export dependencies for header only packages too.
V06-01-04: Adding <flags PYTHON_VERSION="3"/> in
package/python/BuildFile.xml allows scram to compile that package with
python3.
2020-09-15 Shahzad Muzaffar <@smuzaffar>
V06-00-08: Implementation of projectInfo for SCRAMV3
V06-01-00: Do nit delete perl/python scripts. Use the correct version
based on scram version
V06-01-01: Generate PCM for header only packages too
V06-01-02: Always set default library name
2020-09-05 Shahzad Muzaffar <@smuzaffar>
V06-00-06: Fix target rebuild issues
V06-00-07: Fix prebuodl rule ordering
2020-08-27 Shahzad Muzaffar <@smuzaffar>
V06-00-05: Added biglib in to CLING_PREBUILT_MODULE_PATH.
2020-08-24 Shahzad Muzaffar <@smuzaffar>
V06-00-04: only allow package/src to auto generate lcgdict.
2020-08-05 Shahzad Muzaffar <@smuzaffar>
V06-00-03: Typo
2020-08-04 Shahzad Muzaffar <@smuzaffar>
V06-00-02: Use CLING_MODULEMAP_FILES instead of CLING_MODULEMAP_PATH
2020-08-03 Shahzad Muzaffar <@smuzaffar>
V06-00-00: Update config to work with both SCRAM V2 and V3
V06-00-01: Sync changes from master
2020-07-30 Shahzad Muzaffar <@smuzaffar>
V05-10-29: Drop createSymlink.pl in favor of createSymlink.sh
2020-07-27 Shahzad Muzaffar <@smuzaffar>
V05-10-27: Added findDependency perl version back for SCRAM V2 based
releases.
V05-10-28: Set execution permission for findDependency
2020-07-09 Shahzad Muzaffar <@smuzaffar>
V05-10-23,V05-10-24: Added back projectAreaRename.pl
V05-10-25: Use projectAreaRename (i.e. without ext)
V05-10-26: Fix library rules to keep on building it failed.
2020-07-07 Shahzad Muzaffar <@smuzaffar>
V05-10-22: Fix build log rules to avoid rebuild of products
2020-07-05 Roman Tulinov <@tulamor>
V05-10-20, V05-10-21: Rewrite projectAreaRename using python.
2020-07-03 Shahzad Muzaffar <@smuzaffar>
V05-10-16: updateConfig migrated to python.
2020-07-02 Shahzad Muzaffar <@smuzaffar>
V05-10-14-01: Use -I instead of -isystem for cuda host flags
2020-07-01 Shahzad Muzaffar <@smuzaffar>
V05-10-14: Fix extra line for clang-tidy check
performance-inefficient-vector-operation.
V05-10-15: updateConfig migrated to python.
2020-06-25 Shahzad Muzaffar <@smuzaffar>
V05-10-13: Make sure the build logs are saved in between two build
runs
2020-06-20 Shahzad Muzaffar <@smuzaffar>
V05-10-12: Another fix for generating dependencies files.
2020-06-13 Shahzad Muzaffar <@smuzaffar>
V05-10-11: Bug fix for generating dependencies files.
2020-06-12 Shahzad Muzaffar <@smuzaffar>
V05-10-10: Use -isystem instead of -I for include paths if tools sets
<flags SYSTEM_INCLUDe="1"/>
2020-06-09 Shahzad Muzaffar <@smuzaffar>
V05-10-09: Bug fix, make sure the compiler output goes to a log file
2020-06-07 Shahzad Muzaffar <@smuzaffar>
V05-10-07: Bug fix for patch release: Use full release base path to
collect modulemaps.
V05-10-08: Copy package's modulemap file locally.
2020-06-04 Roman Tulinov <@tulamor>
V05-10-06: Convert findDependencies.pl to python
2020-05-28 Shahzad Muzaffar <@smuzaffar>
V05-10-05: Disable vectorization by default.
Added enable/disable/check-vectorize targets.
Bug fix: create symlinks for r_dict.pcm for vectorize libs
USER_VECTORIZE_ALL=1 to enable vectorization for all libs/plugins
2020-05-27 Shahzad Muzaffar <@smuzaffar>
V05-10-04: ROOTCLING_ARGS support added. Now toolfiles can set
ROOTCLING_ARGS flag which will pass to rootcling command for
modules generations.
Bug fix for vectorization: make sure to it only run for selected libs.
2020-05-25 Shahzad Muzaffar <@smuzaffar>
V05-10-02: Bug fix, use the selected vectorization if available
V05-10-03: Use correct vectorization flags if package is built with
a non default compiler.
2020-05-19 Shahzad Muzaffar <@smuzaffar>
V05-10-01: Added CLING_PREBUILT_MODULE_PATH for CXXMODULE IBs.
2020-05-18 Shahzad Muzaffar <@smuzaffar>
V05-10-00:
- Drop Capabilities support
- Add vectorization support, one can set SCRAM_VECTORIZE in self.xml
to add the supported vectorization builds. The compiler cxxcompiler
tool CXXFLAGS_VECTORIZE_<VEC_FLAG> to provide the extra flags to be
used for vectorizations.
- Merge cxxmodules changes from V05-09-XX tags
- Drop Python wrapper build rules (not used since many years)
- Allow to use different compiler to build a product. One can set
<flag COMPILER="llvm"/>
in the BuildFile.xml to use llvm compiler to build the product.
2020-05-17 Shahzad Muzaffar <@smuzaffar>
V05-08-78: Don't include fortran files in llvm ccdb to avoid running
clang-tidy on them.
2020-04-18 Shahzad Muzaffar <@smuzaffar>
V05-08-77: Use gcc compiler's flags for CUDA host.
2020-04-04 Shahzad Muzaffar <@smuzaffar>
V05-08-76: Fix fix-code-checks-yaml.py to work with LLVM 9.0.1
2020-01-22 Shahzad Muzaffar <@smuzaffar>
V05-08-75: Do not build a shared library or default plugin is BuildFile
exists but there is no dependency in there e.g. contents of the BuildFile
are conditional.
2020-01-09 Shahzad Muzaffar <@smuzaffar>
V05-08-74: Install rootmap files to lib directory after installing the
library.
2019-11-27 Shahzad Muzaffar <@smuzaffar>
V05-08-73: Only add -L<path> of self tool which are in LD_LIBRARY_PATH too
2019-11-20 Shahzad Muzaffar <@smuzaffar>
V05-08-70: Copy only executable files in to PATH
V05-08-71: Allow to copy directories
V05-08-72: Copy directories only if explicitly requested via INSTALL_SCRIPTS
flag in the package/scripts/BuildFile.xml
Make sure to always create _rdict.pcm for biglib
2019-10-15 Shahzad Muzaffar <@smuzaffar>
V05-08-69: Fix coral buildfile for centos
2019-10-15 Shahzad Muzaffar <@smuzaffar>
V05-08-68: Fix for DD4Hep plugins component file.
2019-09-19 Shahzad Muzaffar <@smuzaffar>
V05-08-67: Changes needed tp support python2 and python3
2019-08-08 Shahzad Muzaffar <@smuzaffar>
V05-08-66: Do not run clang-tidy for files which are not in
compile_commands.json.
2019-08-08 Shahzad Muzaffar <@smuzaffar>
V05-08-65: Revert rootcling changes
Generate PCH using c++.
2019-07-31 Shahzad Muzaffar <@smuzaffar>
V05-08-64: Use rootcling instead of genreflex.
2019-06-26 Vassil Vassilev <@vgvassilev>
V05-08-62: Rename the legacy rootcint to rootcling.
V05-08-63: Drop --deep which has no meaning in root6.
https://github.com/cms-sw/cmsdist/pull/5110
2019-07-26 Shahzad Muzaffar <@smuzaffar>
V05-08-61: Drop unused capabilities rules.
Always build with root PCMs.
2019-07-24 Shahzad Muzaffar <@smuzaffar>
V05-08-60: Added emit-llvm build rule
2019-07-03 Shahzad Muzaffar <@smuzaffar>
V05-08-59: Added project level hooks
- Allow to run extra rules for various projects
2019-06-21 Shahzad Muzaffar <@smuzaffar>
V05-08-58: Add rootrflx dependency for packages with lcgdicts.
2019-06-18 Shahzad Muzaffar <@smuzaffar>
V05-08-57: Set BIGOBJ flags from top-level makefile.
2019-06-17 Shahzad Muzaffar <@smuzaffar>
V05-08-55: Pass full tmp directory path to avoid following errors
grep: tmp/arch/package_match.regex: No such file or directory
V05-08-56: Disable UBSAN flags for Boost Serialization source files.
https://github.com/cms-sw/cmssw/issues/26669
2019-06-11 Shahzad Muzaffar <@smuzaffar>
V05-08-53: Create symlink for biglib PCMs during patch release build.
V05-08-54: Bug fix: use FULL_RELEASE_FOR_A_PATCH for full release path
for patch releases.
2019-06-07 Shahzad Muzaffar <@smuzaffar>
V05-08-52: Create symlink for biglib PCMs.
2019-05-24 Shahzad Muzaffar <@smuzaffar>
V05-08-51: Allow to drop GENREFLEX_ARGS via BuildFile.
Fixed buildrules to fail if genreflex fails.
2019-05-18 Shahzad Muzaffar <@smuzaffar>
V05-08-50: Added symlinks under biglib directory for PCMs which are part of
biglib plugins
2019-05-16 Shahzad Muzaffar <@smuzaffar>
V05-08-38: Fixed qoutation for compile_commands.json e.g. now it dumps
-DPROJECT_NAME='\"CMSSW\"'
instead of
-DPROJECT_NAME=\"CMSSW\"
to avoid compilation errors during code-checks
L1MuGMTParametersOnlineProducer.cc:118:65: error: expected ')' [clang-diagnostic-error]
edm::LogInfo("No CMSSW version set in database, accepting " PROJECT_VERSION); ^
note: expanded from here
2019-05-14 Shahzad Muzaffar <@smuzaffar>
V05-08-37: Fixes for CXXModules, Optionally include CXXModules.mk to
build cxxmodules for selected packages.
2019-05-10 Shahzad Muzaffar <@smuzaffar>
V05-08-36: Properly filter the selected files for code-format.
2019-05-08 Shahzad Muzaffar <@smuzaffar>
V05-08-34,35: Bug fix: Run clang-format directly on the source file
instead of tmp (to allow clang-format to pick src/.clang-format file)
2019-05-06 Shahzad Muzaffar <@smuzaffar>
V05-08-32: Do not fail code-checks if no non-test file is changed.
V05-08-33: "YAMLLoadWarning: calling yaml.load() without Loader=...
is deprecated" fixed
2019-05-03 Shahzad Muzaffar <@smuzaffar>
V05-08-31: Fixed check-headers rules to avoid ICE. Only run header
check for public shared libararies interface headers.
2019-05-03 Shahzad Muzaffar <@smuzaffar>
V05-08-30: Run clang-format multiple times to get the final format
(default is 6 iterations).
2019-05-02 Shahzad Muzaffar <@smuzaffar>
V05-08-28: Get default source code file extension from release/uses.out file
V05-08-29: Allow to re-run code-format after the change.
2019-04-30 Shahzad Muzaffar <@smuzaffar>
V05-08-25: By default run code-format on changed files only.
V05-08-26: Fix regexp for search for code-format files.
V05-08-27: Properly treat USER_CODE_*_FILES and USER_CODE_*_FILE
values.
2019-04-29 Shahzad Muzaffar <@smuzaffar>
V05-08-23: Fix fix-code-checks-yaml.py to keep the extra new line
for readability-braces-around-statements clang-tidy check
V05-08-24: Use find -iname to find files
2019-04-04 Shahzad Muzaffar <@smuzaffar>
V05-08-16: Included changes from V05-08-21
Only include top level headers files in auto-generated classes.h
2019-04-09 Shahzad Muzaffar <@smuzaffar>
V05-08-21,22: Fix code-fomat rule and run it for all file with extnsion
cpp, cc, cxx, h, hpp, hh
2019-04-02 Shahzad Muzaffar <@smuzaffar>
V05-08-20: Fix path for listcomponents.
2019-04-01 Shahzad Muzaffar <@smuzaffar>
V05-08-14: Bug fix for CXXModules IB: Fix GENREFLEX_ARGS
V05-08-13: Bug fix for CXXModules IB: Avoid Package/interface missing error;
Auto generte one big classes.h/xml for packages with multiple classes.h files.
2019-03-29 Shahzad Muzaffar <@smuzaffar>
V05-08-12: Bug fix: This fixes the problem is two source files
propose same change for a header.
2019-03-25 Shahzad Muzaffar <@smuzaffar>
V05-08-10: Bug fix: In case of deleted packages, do not re-create
python/Subsystem/__init__.py file if already exists.
V05-08-11: Make sure indirect PCM are also generated first.
2019-03-21 Shahzad Muzaffar <@smuzaffar>
V05-08-08: Fix rebuild issues. generate lcg dict cc file only after
all pcm of its deps.
V05-08-09: Fix coral build rules for python
2019-03-04 Shahzad Muzaffar <@smuzaffar>
V05-08-07: For cxxmodules autot generate classes.h and module.modulemap.
2019-02-26 Shahzad Muzaffar <@smuzaffar>
V05-07-56: Make all BuildFile flags available to gmake.
V05-07-55: Fixed rootmap dependency rule to avoid rebuilts at
unittests time. Make use of USE_SOURCE_ONLY flag too.
2019-02-26 Shahzad Muzaffar <@smuzaffar>
V05-07-54: Disable rootmap dependency rule, this shoudl avoid
rebuilding of packages at runtests time.
2019-02-18 Shahzad Muzaffar <@smuzaffar>
V05-07-53: Updated cuda build rules
2019-02-09 Shahzad Muzaffar <@smuzaffar>
V05-07-52: Enable cxxmodule rules if GENREFLEX_ARGS in BuildFile.xml
also contains --cxxmodules flag
2019-02-08 Shahzad Muzaffar <@smuzaffar>
V05-07-51: Do not override CMD_python.
2019-02-04 Shahzad Muzaffar <@smuzaffar>
V05-07-50:
- Generate pcm and rootmap files directly in to lib directory
- Make sure PCM of dependency are generated first.
2019-01-23 Shahzad Muzaffar <@smuzaffar>
V05-07-41: Install PCM if cxxmodule if set.
2019-01-08 Shahzad Muzaffar <@smuzaffar>
V05-07-40: Do not create cmake symlinks under external/lib
2018-11-30 Shahzad Muzaffar <@smuzaffar>
V05-07-39: bug fix: In dev area add poison plugins only once.
2018-11-27 Shahzad Muzaffar <@smuzaffar>
V05-07-38: Add ignore-deleted target to avoid checking for deleted packages
Added help message for many new rules.
2018-11-19 Shahzad Muzaffar <@smuzaffar>
V05-07-37: check for dupilcate generated cfi files per package.
Disable running of copying scripts when skip-scripts-copy build rules
is run.
2018-10-22 Shahzad Muzaffar <@smuzaffar>
V05-07-36: Bug fix for finding out removed packages when '*' is used to
git-cms-addpkg.
2018-10-19 Andrea Bocci <@fwyzard>
V05-07-35: Do not check the CUDA library version.
2018-09-25 Shahzad Muzaffar <@smuzaffar>
V05-07-34: Bug fix, do not drop the cuda dependency if running in
syntax-only mode.
2018-09-14 Shahzad Muzaffar <@smuzaffar>
V05-07-33: Add cmssw/poison in CMSSW_SEARCH_PATH
2018-07-20 Shahzad Muzaffar <@smuzaffar>
V05-07-32: Fix EDM Poison plugin rule.
2018-07-10 Andrea Bocci <@fwyzard>
V05-07-31: Reorder CUDA device libraries
2018-07-06 Shahzad Muzaffar <@smuzaffar>
V05-07-30: Update cuda compilation rules for device code.
2018-06-21 Shahzad Muzaffar <@smuzaffar>
V05-07-24: Fixed missing symbol rule
V05-07-25: USER_CHECK_HEADERS_IGNORE to provide list of headers to be
ignored for header-checks
2018-06-19 Patrick E Gartung <@gartung>
V05-07-23: Fix for DXR.
2018-06-19 Shahzad Muzaffar <@smuzaffar>
V05-07-22: Fix for headers checks: Use current package if no build
product found for a header file.
2018-06-18 Shahzad Muzaffar <@smuzaffar>
V05-07-21: Only check headers of interface directory.
2018-06-04 Shahzad Muzaffar <@smuzaffar>
V05-07-20: header check rule fixed for patch releases.
2018-06-01 Shahzad Muzaffar <@smuzaffar>
* V05-07-19: Do not set PYTHON*PATH for tool-conf via Self.
Do it via extrnal tool otherwise in dev area we get tool-conf
from release instead of local build.
2018-05-31 Shahzad Muzaffar <@smuzaffar>
* V05-07-18: Fix classes.h and serialization headers.h compiler
generated dependency.
2018-05-28 Shahzad Muzaffar <@smuzaffar>
* V05-07-17: Allow to set/remove flags for files.
2018-05-27 Shahzad Muzaffar <@smuzaffar>
* V05-07-16: Fix check-header rules to find correct product name
for a given header file.
2018-05-23 Shahzad Muzaffar <@smuzaffar>
* V05-07-14: Added OpenCL device to AOCX compilation rule
* V05-07-15: Do not generate cudaobj when run in syntax-only mode.
2018-05-15 Shahzad Muzaffar <@smuzaffar>
* V05-07-13: Use correct machine triplet for DNN.
2018-04-27 Shahzad Muzaffar <@smuzaffar>
* V05-07-10: Make use of CUDA_HOST[_REM]_CXXFLAGS.
* V05-07-11: Allow to run dnn_name rules for bin products.
* V05-07-12: Run check-headers only for local files.
2018-04-23 Shahzad Muzaffar <@smuzaffar>
* V05-07-09: Added tensorflow graphs rules
2018-04-28 Shahzad Muzaffar <@smuzaffar>
* V05-07-08: Fixed PYTHON3PATH
2018-04-20 Shahzad Muzaffar <@smuzaffar>
* V05-07-07: Added check-headers rule for compiling headers with -fsyntaxonly
2018-04-15 Shahzad Muzaffar <@smuzaffar>
* V05-07-0[4,5,6]: Use $SCRAM instead of scram for hooks as scram is
not in bath while building release.
2018-04-12 Shahzad Muzaffar <@smuzaffar>
* V05-07-03: Fix cuda/driver env: Set only for projects which has cuda
2018-04-11 Shahzad Muzaffar <@smuzaffar>
* V05-07-02: Added SCRAM runtime hooks for setting up Nvidia driver env
2018-04-10 David Lange <@davidlange6>
* V05-07-01: Added PYTHON3PATH
2018-04-05 Shahzad Muzaffar <@smuzaffar>
* 05-05-86: Same as V05-05-83-01
* V05-06-00: Same as V05-05-85
* V05-07-00: Split Makefile.rules in few smaller files.
- Generate File.ext.o instead of File.o to allow files with different
extensions in same directories e.g Foo.cc and Foo.cu
2018-04-04 Shahzad Muzaffar <@smuzaffar>
* V05-05-83-01: Bug fix in caching compilation flags
* V05-05-85: Bug fix in caching compilation flags
2018-03-24 David Lange <@davidlange6>
* V05-05-84: Added cmssw-tool-conf PYTHON27PATH
2018-03-22 David Lange <@davidlange6>
* V05-05-83: Migration to PYTHON27PATH to support python3
2018-03-19 Shahzad Muzaffar <@smuzaffar>
* V05-05-81: Cache the generated flags
* V05-05-82: Remove debug statement
2018-03-13 Shahzad Muzaffar <@smuzaffar>
* V05-05-80: New features added
- Added support for DD4Hep plugin
- Cleanup Plug rules and put then in separate makefiles.
- Allow to get compiler specific flags for a product
2018-02-24 Shahzad Muzaffar <@smuzaffar>
* V05-05-77: Added SETENV_SCRIPT and SETENV flags for
test/BuildFile.xml so that one can set extra env during unittest.
2018-02-20 Shahzad Muzaffar <@smuzaffar>
* V05-05-76: Use the library name set in
<export><lib name="libname"/></export>.
2018-01-03 Patrick Gartung <@gartung>
* V05-05-75: Fixes for OSX.
2017-11-24 Shahzad Muzaffar <@smuzaffar>
* V05-05-74: Bug fix for python/Subsystem/__init__.py files
when packages are deleted.
https://github.com/cms-sw/cmssw-config/blob/master/SCRAM/GMake/Makefile.rules#L2443
https://hypernews.cern.ch/HyperNews/CMS/get/recoDevelopment/1558.html
2017-11-14 Shahzad Muzaffar <@smuzaffar>
* V05-05-73: Added TSAN IBs.
2017-11-11 Shahzad Muzaffar <@smuzaffar>
* V05-05-72: Disabled ASAN alloc_dealloc_mismatch check.
2017-11-10 Shahzad Muzaffar <@smuzaffar>
* V05-05-71: Get Cuda device link options from CUDA_FLAGS instead of
hardcoding then in build rules
2017-11-09 Shahzad Muzaffar <@smuzaffar>
* V05-05-70: Added support for UBSAN IBs
Added support for lib types
2017-10-31 Shahzad Muzaffar <@smuzaffar>
* V05-05-56: Allow to set overrideable flags via tools instead of
updating cmssw/self.xml
- For now hard-code -lcuda-devrt for cuda device link step see
https://github.com/cms-sw/cmsdist/pull/3543#issuecomment-340669814
2017-10-30 Shahzad Muzaffar <@smuzaffar>
* V05-05-51: Treat CUDA_FLAGS CUDA_CFLAGS CUDA_LDFLAGS flags the same
way we treat other compilers flags.
Build rules cleanup.
updates for ASAN Build
* V05-05-52: Use EDM_TOOLS_PREFIX for edm plugin refresh and edm plugin
transient checks
* V05-05-53: Fix for overrideable flags in BuildFile
* V05-05-54: Drop CUDA_CFLAGS flag instead use CXXFLAGS for
compiler-options
* V05-05-55: Drop -g for asan build to redeuce the size of cmssw package
with -g the cmssw rpm is 8.9G which hit the internal rpm size limits (int overflow)
2017-10-24 Shahzad Muzaffar <@smuzaffar>
* V05-05-50: Added cuda device link steps for cuda sources
2017-10-12 Shahzad Muzaffar <@smuzaffar>
* V05-05-42: Bug fix with SKIP_TOOL_SYMLINKS flags for tools
2017-10-05 Shahzad Muzaffar <@smuzaffar>
* V05-05-41: Allow tools to set SKIP_TOOL_SYMLINKS so that scram
does not create symlinks for libs and bins
2017-09-11 Shahzad Muzaffar <@smuzaffar>
* V05-05-40: Set max line-width for code-checks yaml file to 4096
This should fix the issues like
https://github.com/cms-sw/cmssw/pull/20433/commits/9f57c6768c4045d2a7f6c4da672df3a7ff5c5e10#diff-616cc1e4006d02189e27f55aafb4c9a8R1446
where an extra new line was added
2017-09-05 Shahzad Muzaffar <@smuzaffar>
* V05-05-39: Cleanup the code-checks internals files when done
2017-09-05 Shahzad Muzaffar <@smuzaffar>
* V05-05-37: Use gti diff TAG and git/info/sparse-checkout to find out
actual deleted packages.
* V05-05-38: Bug fix the code-checks yaml file fixer
https://github.com/cms-sw/cmssw/issues/20377
2017-08-23 Shahzad Muzaffar <@smuzaffar>
* V05-05-35/36: Apply clang-tidy changes to changed files only if
USER_CODE_CHECKS_CHANGE_ONLY is set to YES otherwise included headers
are also updated.
USER_FILES_CHANGED_COMMAND is not supported use USER_CODE_CHECKS_FILE
instead
2017-08-22 Shahzad Muzaffar <@smuzaffar>
* V05-05-34: New build rule checkdeps add to checkout
project packages for changed tools
2017-08-10 Shahzad Muzaffar <@smuzaffar>
* V05-05-33: Bug fixed for code-checks buildrule
- Do not fail if no changed file found for code-checks
2017-08-09 Shahzad Muzaffar <@smuzaffar>
* V05-05-31: Rename following build rules
apply-code-checks-on-changes -> code-checks
code-checks -> code-checks-all
* V05-05-30: Added new build rule apply-code-checks-on-changes
to apply code-checks on changed files only using
git diff --name-only $CMSSW_VERSION
* V05-05-29: update for clang-tidy/format
- Use .clang-tidy and .clang-format files if avauilable
- Rename user parameters
- USER_CODE_CHECK_FILES -> USER_CODE_CHECKS_FILES
- USER_CODE_CHECK_FILE -> USER_CODE_CHECKS_FILE
- USER_STYLE_CHECKS -> USER_CODE_CHECKS
- USER_STYLE_CHECK_ARGS -> USER_CODE_CHECKS_ARGS
- USER_STYLE_APPLY_ARGS -> USER_CODE_CHECKS_APPLY_ARGS
- USER_FORMAT_CHECK -> USER_CODE_FORMAT
- USER_FORMAT_CHECK_ARGS -> USER_CODE_FORMAT_ARGS
- Added new user parameters
- USER_CODE_FORMAT_FILES: list of files for which to run format rules (SSV)
- USER_CODE_FORMAT_FILE: Filename which contains the list of files for
which to run format rules
2017-08-08 Shahzad Muzaffar <@smuzaffar>
* V05-05-28: update for clang-tidy/format
- USER_CODE_CHECK_FILES: Filename which contains the list of files for
which to run rules
2017-07-18 Shahzad Muzaffar <@smuzaffar>
* V05-05-27: bug fix: fixed new build rules format/style
2017-07-17 Shahzad Muzaffar <@smuzaffar>
* V05-05-26: Added new style, format build rules to run clang-tidy and
clang-format. Following user env variables can be used to override various
default settings
- USER_CODE_CHECK_FILES: list of files for which to run rules (SSV)
- USER_STYLE_CHECKS: clang-tidy checks (CSV)
- USER_STYLE_CHECK_ARGS: clang-tidy extra command-line args
- USER_STYLE_APPLY_ARGS: clang-apply-replacements extra command-line args
- USER_FORMAT_CHECK: clang-format style. Default is Google
- USER_FORMAT_CHECK_ARGS: clang-fiormat extra command-line args
2017-06-22 Shahzad Muzaffar <@smuzaffar>
* V05-05-25: For each package create python/package/__init__.py to
avoid picking package/python files from release
2017-05-09 Shahzad Muzaffar <@smuzaffar>
* V05-05-24: Bug fix creation of python __init__.py build rules.
Previously there was chance that two process can write in the same file at
same time causing it to be a invalid python file.
2017-04-11 Shahzad Muzaffar <@smuzaffar>
* V05-05-23: Dump build product to source map file.
2017-02-13 Shahzad Muzaffar <@smuzaffar>
* V05-05-22: Fixes the bug when there is only <test /> in package/test/BuildFile
then gmake was running runtests for that at build time.
2017-01-18 Shahzad Muzaffar <@smuzaffar>
* V05-05-21: Fixed for compile_commands.json
- delete compile_commands.json when scram build clean is run
- Do not copy contents of release/compile_commands.json in to dev area
as the file and directory will not be pointing to correct path.
- For patch releases, concatenate release/compile_commands.json and
local compile_commands.json
Fixes for compiler variables: Apply USER_REM_FLAG flags on all flags.
Allow USER_PRE_Flags to be put in front of scram compilers flags.
2016-12-14 Shahzad Muzaffar <@smuzaffar>
* V05-05-20: Do not include makefile fragments for the deleted packages from
release area.
2016-12-09 Shahzad Muzaffar <@smuzaffar>
* V05-05-19: Bug fix; create python link when scram build <papckage name> rule is run
* llvm-ccdb: Add full path of file name in compile_commands.json to avoid crash
2016-12-02 Shahzad Muzaffar <@smuzaffar>
* V05-05-18:
* Remove intel-vtune ref as tool is replaced by ittnotify
* Rename llvm-ccdb.json to compile_commands.json which is automatically
searched by clang-tidy
2016-11-25 Shahzad Muzaffar <@smuzaffar>
* V05-05-17: Do not symlink intel-vtune.
* new llvm-ccdb build rule to generate llvm compiler's commands db in
etc directory.
2016-11-18 Shahzad Muzaffar <@smuzaffar>
* V05-05-16: Make sure that new build rules works with scram V2_2_6.
2016-11-16 Shahzad Muzaffar <@smuzaffar>
* V05-05-15: Allow test tag for only test directories.
2016-11-15 Shahzad Muzaffar <@smuzaffar>
* V05-05-14: Make use of new test tag for unit tests.
2016-10-06 Shahzad Muzaffar <@smuzaffar>
* V05-05-13: Fix enable/disable-biglib rules for patch releases.
Previous version was not disabling biglib from full base release
area.
2016-10-05 Shahzad Muzaffar <@smuzaffar>
* V05-05-12: typo: use CMD_rm instead of CMS_rm
2016-08-25 Shahzad Muzaffar <@smuzaffar>
* V05-05-11: change directory to lib/arch before running edm class checks so that
pcm files can be found
2016-08-25 Shahzad Muzaffar <@smuzaffar>
* V05-05-10: Fixes for OSX build e.g. call install_name_tool to set full library
name as its id.
2016-08-17 Shahzad Muzaffar <@smuzaffar>
* V05-05-09: Do not run edm checks (e.g. class version/transients)
checks if SCRAM_NOEDM_CHECKS is set. New build rule edm_checks to explicitly
run edm checks once shared libs are build. This is useful for testing
externals to avoid loading shared libs from release area while running edm_checks.
2016-02-19 Shahzad Muzaffar <@smuzaffar>
* V05-05-08: Do not read scram caches for proejct Rename.
2016-02-11 Shahzad Muzaffar <@smuzaffar>
* V05-05-07: EDM Class Transients needs pcm and rootmap files to be
copied in to lib/arch directory before we can run it. Build rules
updated to copy generated pcm and rootmaps to lib/arch directory
before link step of library.
2016-01-14 Shahzad Muzaffar <@smuzaffar>
* V05-05-06: Allow to find out multiple tools dependency via scram build
echo_<tool1:tool2>_USED_BY command
Print test succeeded message for each unit test.
2015-10-05 Shahzad Muzaffar <@smuzaffar>
* V05-04-10: Fix runtest prefix command
2015-10-02 Shahzad Muzaffar <@smuzaffar>
V05-05-05: Added checks for Class Transients and fix the test running
prefix option.
2015-09-17 Shahzad Muzaffar <@smuzaffar>
V05-05-04: Fix the compiler generated dependency for lcg/root dict(
root6 was not putting the classes.h file as the first file included
from the generated .cc files).
2015-09-07 Shahzad Muzaffar <@smuzaffar>
* V05-05-03: Search script needed for compilation in full release
base too.
2015-08-24 Shahzad Muzaffar <@smuzaffar>
* V05-05-02: Fix path for LinkDef.h file
Fix compiler flags orders
2015-07-02 Shahzad Muzaffar <@smuzaffar>
* V05-05-01: Fix linkexternal script to always create symlinks in
the order of paths mentioned in toolfile.
2015-07-02 Shahzad Muzaffar <@smuzaffar>
* V05-04-09: Back ported symlink changes for branch without
capabilities changes.
2015-06-22 Shahzad Muzaffar <@smuzaffar>
* V05-04-08: Disable capabilities libs if NO_CAPABILITIS flag is
set in root.xml toolfile.
2015-06-01 Shahzad Muzaffar <@smuzaffar>
* V05-04-07: Make sure that the compiler generated dependency file is
parsed properly.
2015-04-07 Shahzad Muzaffar <@smuzaffar>
* V05-04-06: New build rule "deps-tree <package1> <package2>" added to
find the BuildFile level dependencies paths from <package1> to
<package2>.
Make sure the REM_<flags> are properly dropped.
2015-02-20 Shahzad Muzaffar <@smuzaffar>
* V05-04-05: HOOK_PROJECT support added. SCRAM should call this hook
once before the start of build and once at the end of build.
2015-02-03 Shahzad Muzaffar <@smuzaffar>
* V05-04-04: Generate glimpse indexes for cfipython too.
Added support for USER_HOOK_PACKAGE and USER_HOOK_PRODUCT
2015-01-31 Shahzad Muzaffar <@smuzaffar>
* V05-04-03: Bug fix, make sure that product's precompile rule
is called before the gch generation.
2015-01-14 Shahzad Muzaffar <@smuzaffar>
* V05-04-02: Various fixes
- For patch release buils, add base release src directory in to
CMSSW_SEARCH_PATH
- For missing src/package/python directory create
python/package/__init__.py file to append cfipython/package
in python path.
- generate .gch.cxxflags files for precompile headers.
2015-01-07 Shahzad Muzaffar <@smuzaffar>
* V05-04-01: Support for precompile headers. If a package has
src/precompile.h file then scram will generate
LOCALTOP/include/<arch>/<package>/src/precompile.h.gch.
2014-12-19 Shahzad Muzaffar <@smuzaffar>
* V05-04-00: Moved findDependencies.pl from the cmsdist. Update
cmsdist/scram-project-build to use this.
Cleanup for rootdict source dependency.
2014-12-05 Shahzad Muzaffar <@smuzaffar>
* V05-03-31: Cleanup for ClassVersion check and print the
scram command for updating the class version.
2014-11-27 Shahzad Muzaffar <@smuzaffar>
* V05-03-30: Drop support for ROOTMAP BuildFile flag and always
generate .rootmap file if supported by root external tool.
2014-11-25 Shahzad Muzaffar <@smuzaffar>
* V05-03-29: Various features added
- SCRAM_TEST_RUNNER_PREFIX: Runtime environment variable which
scram can append before any unittest e.g. one use of it could be
to run unit test under valgrind or timeout etc.
- generate ;lib/arch/.poisonededmplugincache for all the
packages locallt built or deleted.
2014-10-27 Shahzad Muzaffar <@smuzaffar>
* V05-03-28: Help message updated; some cleanup;
Do not add biglib path if biglib is disabled in the dev area.
2014-10-13 Patrick Gartung <[email protected]>
* V05-03-27: Fixed dxr.config file; passed -k gmake option and
exit with 0 for dxr rule.
2014-10-08 Shahzad Muzaffar <@smuzaffar>
* V05-03-26: Various fixes for OSX:
- Fix big plugin extension for OSX arch (dylib instead of so)
- Do not pass -L<path> for non-existing local directories
2014-10-08 David Abdurachmanov <[email protected]>
* V05-03-25: Pass --exclude-libs to only non-osx archs.
2014-10-06 Shahzad Muzaffar <@smuzaffar>
* V05-03-24: Drop LD_UNIT_FLAGS and just use LD_UNIT flag.
2014-10-05 Shahzad Muzaffar <@smuzaffar>
* V05-03-23: New dxr build rule added for generating dxr indexes;
Cleanup LD_UNIT flags for big objects for osx,fc and slc archs.
2014-09-29 Shahzad Muzaffar <@smuzaffar>
* V05-03-22: Do not generate any lcg/root dict if all files have been
skipped e.g. <flags SKIP_FILES="%"/>
2014-09-25 Shahzad Muzaffar <@smuzaffar>
* V05-03-21: Set CLASS for each product e..g LIBRARY, BINARY, TEST,
TEST_LIBRARY.
Fix creation of symlinks unders externals/arch for big objs.
* V05-03-20: Allow to set and use LIBRARY_<flag>, BINARY_<flag>,
and TEST_<flag> flags (CXXFLAGS, CPPFLAGS, CFLAGS, LDFLAGS etc.);
Regenerate Serialization.cc if cond serialization script is changed;
Fix GENREFLEX_GCCXMLOPT for flag for genreflex;
2014-09-09 Shahzad Muzaffar <@smuzaffar>
* V05-03-19: Fixed class version update rule;
Allow multiple LinkDef.h per package;
Fixed absolute path in lcgdict
2014-08-27 Shahzad Muzaffar <@smuzaffar>
* V05-03-18: Make use of new release tag in config/BuildFile.xml so that
same config tag can be used for all releases.
2014-08-27 Shahzad Muzaffar <@smuzaffar>
* V05-03-17: Only update external/$(SCRAM_ARCH)/links.DB if external
tools definition changes
2014-08-26 Shahzad Muzaffar <@smuzaffar>
* V05-03-16: For unittests rule always call unittests of PRE_TEST instead
of runtests
2014-08-05 Shahzad Muzaffar <@smuzaffar>
* V05-03-15: Disable biglib rules for llvm
2014-07-25 Shahzad Muzaffar <@smuzaffar>
* V05-03-14: Various fixes for Biglib rules;
- Added new build rule check_dependents_<biglib> to check dependent packages
of biglib
- Bug fix: Make sure scram picks up changes in plugins/BuildFile.xml
2014-07-01 Shahzad Muzaffar <@smuzaffar>
* V05-03-00: New build rules to generate big edmplugin using other
small shared libraries and edm plugins. Supported flags are
[USER_][REM_]BIGOBJ_CPPFLAGS, [USER_][REM_]BIGOBJ_CFLAGS, [USER_][REM_]BIGOBJ_FFLAGS
[USER_][REM_]BIGOBJ_CXXFLAGS, [USER_][REM_]BIGOBJ_LDFLAGS
2013-05-19 Shahzad Muzaffar <@smuzaffar>
* V05-02-00: lcg and root dictionaries generation updated to use new
genreflex (root6). This tag should work for both root5 and root6 based
releases.
2013-05-13 Shahzad Muzaffar <@smuzaffar>