Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions base/pop/help/popc
Original file line number Diff line number Diff line change
Expand Up @@ -254,6 +254,10 @@ searched, i.e. disables the use of popsyslist.
Produce output files in directory (can occur anywhere, and
affects all following source files).

-quiet
Suppresses the popgctrace messages and inhibits the printing
of multiple file names when compiling multiple files.

-u arg-list
Use Pop-11 source libraries: for each arg in arg-list,
compiles
Expand Down
24 changes: 20 additions & 4 deletions base/pop/src/syscomp/popc_main.p
Original file line number Diff line number Diff line change
Expand Up @@ -1522,6 +1522,7 @@ define $-Pop$-Main();
asm_only = false,
comp_only = false,
l_flag = false,
q_flag = false,
out_dir = false,
link_args = [],
wlib_create = false,
Expand All @@ -1540,7 +1541,7 @@ define $-Pop$-Main();
dlocal pop_arglist,
pop_file_versions = use_file_versions(),
cucharout = cucharerr,
% file_create_control(dlocal_context) %,
% file_create_control(dlocal_context) %
;

#_IF pop_debugging
Expand Down Expand Up @@ -1669,8 +1670,10 @@ define $-Pop$-Main();

elseif c == "l" then
;;; list names of files compiled (now done
;;; automatically for more than 1 file)
true -> l_flag
;;; automatically for more than 1 file). Explicitly
;;; clears -q_flag- if previously set.
true -> l_flag;
false -> q_flag;

elseif c == "m" then
;;; define macro(s)
Expand Down Expand Up @@ -1698,6 +1701,11 @@ define $-Pop$-Main();
;;; no system libraries
false -> syslib

elseif c == "quiet" then
;;; Explicitly quiet, will take precedence over l_flag.
true -> q_flag;
false -> l_flag;

elseif c == "u" then
;;; use things
pop11_compile(stringin(consstring(#|
Expand Down Expand Up @@ -1757,8 +1765,16 @@ define $-Pop$-Main();
endif;

%] -> inter_args;
if n_compile > 1 then true -> l_flag endif;

;;; Reconsider the l_flag (list files) based on whether q_flag (quiet) was explicitly set.
if q_flag then
;;; Explicit quiet takes precedence.
false -> l_flag;
false -> popgctrace;
elseif n_compile > 1 then
;;; If q_flag not set l_flag allowed to stand. And apply this default rule.
true -> l_flag;
endif;

define lconstant compile_file(source);
lvars nam, a_name, o_name, w_name, source, asm_extn;
Expand Down
6 changes: 3 additions & 3 deletions mk_recipes/buildInplace.mk
Original file line number Diff line number Diff line change
Expand Up @@ -112,7 +112,7 @@ SRC_WLB:=$(popobjlib)/src.wlb
.proxy-wlb-objects: $(SRC_WLB_SRC) $(SRC_WLB_HEADERS) $(POPC)
cd $(popsrc)
rm -f $@
$(RUN_POPC) -c -nosys $(POP_ARCH)/*.[ps] ./*.p
$(RUN_POPC) -quiet -c -nosys $(POP_ARCH)/*.[ps] ./*.p
touch "$@"

$(SRC_WLB): .proxy-wlb-objects $(POPLIBR)
Expand All @@ -133,7 +133,7 @@ VED_WLB:=$(popobjlib)/vedsrc.wlb
.proxy-ved-wlb-objects : $(VED_WLB_SRC) $(VED_WLB_HEADERS) $(POPC)
cd $(usepop)/pop/ved/src
rm -f $@
$(RUN_POPC) -c -nosys -wlib \( ../../src/ \) ./*.p
$(RUN_POPC) -quiet -c -nosys -wlib \( ../../src/ \) ./*.p
touch "$@"

$(VED_WLB): $(popobjlib)/src.wlb .proxy-ved-wlb-objects $(POPLIBR)
Expand Down Expand Up @@ -171,7 +171,7 @@ XSRC_WLB:=$(popobjlib)/xsrc.wlb
.proxy-xsrc-wlb-objects: $(XSRC_WLB_SRC) $(XSRC_WLB_HEADERS) $(XPW_TARGET) $(POPC)
cd $(usepop)/pop/x/src
rm -f $@
$(RUN_POPC) -c -nosys -wlib \( ../../src/ \) ./*.p
$(RUN_POPC) -quiet -c -nosys -wlib \( ../../src/ \) ./*.p
touch "$@"

$(XSRC_WLB): $(popobjlib)/src.wlb .proxy-xsrc-wlb-objects $(POPLIBR)
Expand Down